#!/usr/bin/python
from Tkinter import *
import ttk
import time
import threading
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)

GPIO.setup(4,GPIO.OUT)
GPIO.setup(17,GPIO.OUT)
GPIO.setup(18,GPIO.OUT)
GPIO.setup(27,GPIO.OUT)
GPIO.setup(22,GPIO.OUT)
GPIO.setup(23,GPIO.OUT)
GPIO.setup(25,GPIO.OUT)
GPIO.setup(5,GPIO.OUT)

enable=4
gate=17
bit_1=5
bit_2=25
bit_3=23
bit_4=22
bit_5=27
bit_6=18


speed=0.5
repeat=0.5

chan_list = (bit_1,bit_2,bit_3,bit_4,bit_5,bit_6)


def init(root):
    root.title("RPi Maplin 3800 Synthesiser Sequencer v1.0")

# Read each note codes
def read():

    global n0_0, n0_1, n0_2, n0_2, n0_3, n0_4, n0_5, r0_6, s0_7, n1_0, n1_1, n1_2, n1_2, n1_3, n1_4, n1_5, s1_7, \
           n2_0, n2_1, n2_2, n2_2, n2_3, n2_4, n2_5, s2_7, n3_0, n3_1, n3_2, n3_2, n3_3, n3_4, n3_5, s3_7, \
           n4_0, n4_1, n4_2, n4_2, n4_3, n4_4, n4_5, s4_7, n5_0, n5_1, n5_2, n5_2, n5_3, n5_4, n5_5, s5_7, \
           n6_0, n6_1, n6_2, n6_2, n6_3, n6_4, n6_5, s6_7, n7_0, n7_1, n7_2, n7_2, n7_3, n7_4, n7_5, s7_7, \
           n8_0, n8_1, n8_2, n8_2, n8_3, n8_4, n8_5, s8_7, n9_0, n9_1, n9_2, n9_2, n9_3, n9_4, n9_5, s9_7, \
           n10_0, n10_1, n10_2, n10_2, n10_3, n10_4, n10_5, s10_7, n11_0, n11_1, n11_2, n11_2, n11_3, n11_4, n11_5, s11_7, \
           n12_0, n12_1, n12_2, n12_2, n12_3, n12_4, n12_5, s12_7, n13_0, n13_1, n13_2, n13_2, n13_3, n13_4, n13_5, s13_7, \
           n14_0, n14_1, n14_2, n14_2, n14_3, n14_4, n14_5, s14_7, n15_0, n15_1, n15_2, n15_2, n15_3, n15_4, n15_5, s15_7, \
           n16_0, n16_1, n16_2, n16_2, n16_3, n16_4, n16_5, s16_7, n17_0, n17_1, n17_2, n17_2, n17_3, n17_4, n17_5, s17_7, \
           n18_0, n18_1, n18_2, n18_2, n18_3, n18_4, n18_5, s18_7, n19_0, n19_1, n19_2, n19_2, n19_3, n19_4, n19_5, s19_7, \
           n20_0, n20_1, n20_2, n20_2, n20_3, n20_4, n20_5, s20_7, n21_0, n21_1, n21_2, n21_2, n21_3, n21_4, n21_5, s21_7, \
           n22_0, n22_1, n22_2, n22_2, n22_3, n22_4, n22_5, s22_7, n23_0, n23_1, n23_2, n23_2, n23_3, n23_4, n23_5, s23_7, \
           n24_0, n24_1, n24_2, n24_2, n24_3, n24_4, n24_5, s24_7, n25_0, n25_1, n25_2, n25_2, n25_3, n25_4, n25_5, s25_7, \
           n26_0, n26_1, n26_2, n26_2, n26_3, n26_4, n26_5, s26_7, n27_0, n27_1, n27_2, n27_2, n27_3, n27_4, n27_5, s27_7, \
           n28_0, n28_1, n28_2, n28_2, n28_3, n28_4, n28_5, s28_7, n29_0, n29_1, n29_2, n29_2, n29_3, n29_4, n29_5, s29_7, \
           n30_0, n30_1, n30_2, n30_2, n30_3, n30_4, n30_5, s30_7, n31_0, n31_1, n31_2, n31_2, n31_3, n31_4, n31_5, s31_7

    n0_0 = (b0_0var.get())
    n0_1 = (b0_1var.get())
    n0_2 = (b0_2var.get())
    n0_3 = (b0_3var.get())
    n0_4 = (b0_4var.get())
    n0_5 = (b0_5var.get())
    r0_6 = (b0_6var.get())
    s0_7 = (b0_7var.get())
    n1_0 = (b1_0var.get())
    n1_1 = (b1_1var.get())
    n1_2 = (b1_2var.get())
    n1_3 = (b1_3var.get())
    n1_4 = (b1_4var.get())
    n1_5 = (b1_5var.get())
    s1_7 = (b1_7var.get())
    n2_0 = (b2_0var.get())
    n2_1 = (b2_1var.get())
    n2_2 = (b2_2var.get())
    n2_3 = (b2_3var.get())
    n2_4 = (b2_4var.get())
    n2_5 = (b2_5var.get())
    s2_7 = (b2_7var.get())
    n3_0 = (b3_0var.get())
    n3_1 = (b3_1var.get())
    n3_2 = (b3_2var.get())
    n3_3 = (b3_3var.get())
    n3_4 = (b3_4var.get())
    n3_5 = (b3_5var.get())
    s3_7 = (b3_7var.get())
    n4_0 = (b4_0var.get())
    n4_1 = (b4_1var.get())
    n4_2 = (b4_2var.get())
    n4_3 = (b4_3var.get())
    n4_4 = (b4_4var.get())
    n4_5 = (b4_5var.get())
    s4_7 = (b4_7var.get())
    n5_0 = (b5_0var.get())
    n5_1 = (b5_1var.get())
    n5_2 = (b5_2var.get())
    n5_3 = (b5_3var.get())
    n5_4 = (b5_4var.get())
    n5_5 = (b5_5var.get())
    s5_7 = (b5_7var.get())
    n6_0 = (b6_0var.get())
    n6_1 = (b6_1var.get())
    n6_2 = (b6_2var.get())
    n6_3 = (b6_3var.get())
    n6_4 = (b6_4var.get())
    n6_5 = (b6_5var.get())
    s6_7 = (b6_7var.get())
    n7_0 = (b7_0var.get())
    n7_1 = (b7_1var.get())
    n7_2 = (b7_2var.get())
    n7_3 = (b7_3var.get())
    n7_4 = (b7_4var.get())
    n7_5 = (b7_5var.get())
    s7_7 = (b7_7var.get())
    n8_0 = (b8_0var.get())
    n8_1 = (b8_1var.get())
    n8_2 = (b8_2var.get())
    n8_3 = (b8_3var.get())
    n8_4 = (b8_4var.get())
    n8_5 = (b8_5var.get())
    s8_7 = (b8_7var.get())
    n9_0 = (b9_0var.get())
    n9_1 = (b9_1var.get())
    n9_2 = (b9_2var.get())
    n9_3 = (b9_3var.get())
    n9_4 = (b9_4var.get())
    n9_5 = (b9_5var.get())
    s9_7 = (b9_7var.get())
    n10_0 = (b10_0var.get())
    n10_1 = (b10_1var.get())
    n10_2 = (b10_2var.get())
    n10_3 = (b10_3var.get())
    n10_4 = (b10_4var.get())
    n10_5 = (b10_5var.get())
    s10_7 = (b10_7var.get())
    n11_0 = (b11_0var.get())
    n11_1 = (b11_1var.get())
    n11_2 = (b11_2var.get())
    n11_3 = (b11_3var.get())
    n11_4 = (b11_4var.get())
    n11_5 = (b11_5var.get())
    s11_7 = (b11_7var.get())
    n12_0 = (b12_0var.get())
    n12_1 = (b12_1var.get())
    n12_2 = (b12_2var.get())
    n12_3 = (b12_3var.get())
    n12_4 = (b12_4var.get())
    n12_5 = (b12_5var.get())
    s12_7 = (b12_7var.get())
    n13_0 = (b13_0var.get())
    n13_1 = (b13_1var.get())
    n13_2 = (b13_2var.get())
    n13_3 = (b13_3var.get())
    n13_4 = (b13_4var.get())
    n13_5 = (b13_5var.get())
    s13_7 = (b13_7var.get())
    n14_0 = (b14_0var.get())
    n14_1 = (b14_1var.get())
    n14_2 = (b14_2var.get())
    n14_3 = (b14_3var.get())
    n14_4 = (b14_4var.get())
    n14_5 = (b14_5var.get())
    s14_7 = (b14_7var.get())
    n15_0 = (b15_0var.get())
    n15_1 = (b15_1var.get())
    n15_2 = (b15_2var.get())
    n15_3 = (b15_3var.get())
    n15_4 = (b15_4var.get())
    n15_5 = (b15_5var.get())
    s15_7 = (b15_7var.get())
    n16_0 = (b16_0var.get())
    n16_1 = (b16_1var.get())
    n16_2 = (b16_2var.get())
    n16_3 = (b16_3var.get())
    n16_4 = (b16_4var.get())
    n16_5 = (b16_5var.get())
    s16_7 = (b16_7var.get())
    n17_0 = (b17_0var.get())
    n17_1 = (b17_1var.get())
    n17_2 = (b17_2var.get())
    n17_3 = (b17_3var.get())
    n17_4 = (b17_4var.get())
    n17_5 = (b17_5var.get())
    s17_7 = (b17_7var.get())
    n18_0 = (b18_0var.get())
    n18_1 = (b18_1var.get())
    n18_2 = (b18_2var.get())
    n18_3 = (b18_3var.get())
    n18_4 = (b18_4var.get())
    n18_5 = (b18_5var.get())
    s18_7 = (b18_7var.get())
    n19_0 = (b19_0var.get())
    n19_1 = (b19_1var.get())
    n19_2 = (b19_2var.get())
    n19_3 = (b19_3var.get())
    n19_4 = (b19_4var.get())
    n19_5 = (b19_5var.get())
    s19_7 = (b19_7var.get())
    n20_0 = (b20_0var.get())
    n20_1 = (b20_1var.get())
    n20_2 = (b20_2var.get())
    n20_3 = (b20_3var.get())
    n20_4 = (b20_4var.get())
    n20_5 = (b20_5var.get())
    s20_7 = (b20_7var.get())
    n21_0 = (b21_0var.get())
    n21_1 = (b21_1var.get())
    n21_2 = (b21_2var.get())
    n21_3 = (b21_3var.get())
    n21_4 = (b21_4var.get())
    n21_5 = (b21_5var.get())
    s21_7 = (b21_7var.get())
    n22_0 = (b22_0var.get())
    n22_1 = (b22_1var.get())
    n22_2 = (b22_2var.get())
    n22_3 = (b22_3var.get())
    n22_4 = (b22_4var.get())
    n22_5 = (b22_5var.get())
    s22_7 = (b22_7var.get())
    n23_0 = (b23_0var.get())
    n23_1 = (b23_1var.get())
    n23_2 = (b23_2var.get())
    n23_3 = (b23_3var.get())
    n23_4 = (b23_4var.get())
    n23_5 = (b23_5var.get())
    s23_7 = (b23_7var.get())
    n24_0 = (b24_0var.get())
    n24_1 = (b24_1var.get())
    n24_2 = (b24_2var.get())
    n24_3 = (b24_3var.get())
    n24_4 = (b24_4var.get())
    n24_5 = (b24_5var.get())
    s24_7 = (b24_7var.get())
    n25_0 = (b25_0var.get())
    n25_1 = (b25_1var.get())
    n25_2 = (b25_2var.get())
    n25_3 = (b25_3var.get())
    n25_4 = (b25_4var.get())
    n25_5 = (b25_5var.get())
    s25_7 = (b25_7var.get())
    n26_0 = (b26_0var.get())
    n26_1 = (b26_1var.get())
    n26_2 = (b26_2var.get())
    n26_3 = (b26_3var.get())
    n26_4 = (b26_4var.get())
    n26_5 = (b26_5var.get())
    s26_7 = (b26_7var.get())
    n27_0 = (b27_0var.get())
    n27_1 = (b27_1var.get())
    n27_2 = (b27_2var.get())
    n27_3 = (b27_3var.get())
    n27_4 = (b27_4var.get())
    n27_5 = (b27_5var.get())
    s27_7 = (b27_7var.get())
    n28_0 = (b28_0var.get())
    n28_1 = (b28_1var.get())
    n28_2 = (b28_2var.get())
    n28_3 = (b28_3var.get())
    n28_4 = (b28_4var.get())
    n28_5 = (b28_5var.get())
    s28_7 = (b28_7var.get())
    n29_0 = (b29_0var.get())
    n29_1 = (b29_1var.get())
    n29_2 = (b29_2var.get())
    n29_3 = (b29_3var.get())
    n29_4 = (b29_4var.get())
    n29_5 = (b29_5var.get())
    s29_7 = (b29_7var.get())
    n30_0 = (b30_0var.get())
    n30_1 = (b30_1var.get())
    n30_2 = (b30_2var.get())
    n30_3 = (b30_3var.get())
    n30_4 = (b30_4var.get())
    n30_5 = (b30_5var.get())
    s30_7 = (b30_7var.get())
    n31_0 = (b31_0var.get())
    n31_1 = (b31_1var.get())
    n31_2 = (b31_2var.get())
    n31_3 = (b31_3var.get())
    n31_4 = (b31_4var.get())
    n31_5 = (b31_5var.get())
    s31_7 = (b31_7var.get())


def faster():
    global speed
    if speed <= 0.05:
        return
    speed=speed - 0.025
    show_speed.set(speed)
    showspeed.configure(text=show_speed.get())

def slower():
    global speed
    speed = speed + 0.025
    show_speed.set(speed)
    showspeed.configure(text=show_speed.get())

def repeatup():
    global repeat
    if repeat <= 0.05:
        return
    repeat=repeat - 0.025
    show_repeat.set(repeat)
    showrepeat.configure(text=show_repeat.get())

def repeatdn():
    global repeat
    repeat = repeat + 0.025
    show_repeat.set(repeat)
    showrepeat.configure(text=show_repeat.get())


def play():

#for stop button
    s0_7 = (b31_7var.get())

#note 1
    c1.set("light blue")
    nameb0_0.configure(background=c1.get())
    GPIO.output(chan_list, (n0_0,n0_1,n0_2,n0_3,n0_4,n0_5))
    GPIO.output(enable, 1)
    time.sleep(0.0005) 
    GPIO.output(enable, 0)
    GPIO.output(gate, 1)

    time.sleep(speed)
    

    GPIO.output(gate, 0)
    c1.set("gray84")
    nameb0_0.configure(background=c1.get())           
    if s0_7 == 0:
        None
    else:
        return
        
#note 2
    c1.set("light blue")
    nameb1_0.configure(background=c1.get())
    GPIO.output(chan_list, (n1_0,n1_1,n1_2,n1_3,n1_4,n1_5))
    GPIO.output(enable, 1)
    time.sleep(0.0005) 
    GPIO.output(enable, 0)
    GPIO.output(gate, 1)
        
    time.sleep(speed)
    
    GPIO.output(gate, 0)
    c1.set("gray84")
    nameb1_0.configure(background=c1.get())
    if s1_7 == 0:
        None
    else:
        return

#note 3
    c1.set("light blue")
    nameb2_0.configure(background=c1.get())    
    GPIO.output(chan_list, (n2_0,n2_1,n2_2,n2_3,n2_4,n2_5))
    GPIO.output(enable, 1)
    time.sleep(0.0005) 
    GPIO.output(enable, 0)
    GPIO.output(gate, 1)

    time.sleep(speed)
        
    GPIO.output(gate, 0)
    c1.set("gray84")
    nameb2_0.configure(background=c1.get())    
    if s2_7 == 0:
        None
    else:
        return
        
#note 4
    c1.set("light blue")
    nameb3_0.configure(background=c1.get())
    GPIO.output(chan_list, (n3_0,n3_1,n3_2,n3_3,n3_4,n3_5))
    GPIO.output(enable, 1)
    time.sleep(0.0005) 
    GPIO.output(enable, 0)
    GPIO.output(gate, 1)

    time.sleep(speed)
        
    GPIO.output(gate, 0)
    c1.set("gray84")
    nameb3_0.configure(background=c1.get())     
    if s3_7 == 0:
        None
    else:
        return

#note 5
    c1.set("light blue")
    nameb4_0.configure(background=c1.get())
    GPIO.output(chan_list, (n4_0,n4_1,n4_2,n4_3,n4_4,n4_5))
    GPIO.output(enable, 1)
    time.sleep(0.0005) 
    GPIO.output(enable, 0)
    GPIO.output(gate, 1)

    time.sleep(speed)
        
    GPIO.output(gate, 0)
    c1.set("gray84")
    nameb4_0.configure(background=c1.get())
    if s4_7 == 0:
        None
    else:
        return

#note 6
    c1.set("light blue")
    nameb5_0.configure(background=c1.get())
    GPIO.output(chan_list, (n5_0,n5_1,n5_2,n5_3,n5_4,n5_5))
    GPIO.output(enable, 1)
    time.sleep(0.0005) 
    GPIO.output(enable, 0)
    GPIO.output(gate, 1)

    time.sleep(speed)
        
    GPIO.output(gate, 0)
    c1.set("gray84")
    nameb5_0.configure(background=c1.get())
    if s5_7 == 0:
        None
    else:
        return

#note 7
    c1.set("light blue")
    nameb6_0.configure(background=c1.get())
    GPIO.output(chan_list, (n6_0,n6_1,n6_2,n6_3,n6_4,n6_5))
    GPIO.output(enable, 1)
    time.sleep(0.0005) 
    GPIO.output(enable, 0)
    GPIO.output(gate, 1)

    time.sleep(speed)
        
    GPIO.output(gate, 0)
    c1.set("gray84")
    nameb6_0.configure(background=c1.get())
    if s6_7 == 0:
        None
    else:
        return

#note 8
    c1.set("light blue")
    nameb7_0.configure(background=c1.get())
    GPIO.output(chan_list, (n7_0,n7_1,n7_2,n7_3,n7_4,n7_5))
    GPIO.output(enable, 1)
    time.sleep(0.0005) 
    GPIO.output(enable, 0)
    GPIO.output(gate, 1)

    time.sleep(speed)
        
    GPIO.output(gate, 0)
    c1.set("gray84")
    nameb7_0.configure(background=c1.get())
    if s7_7 == 0:
        None
    else:
        return

#note 9
    c1.set("light blue")
    nameb8_0.configure(background=c1.get())
    GPIO.output(chan_list, (n8_0,n8_1,n8_2,n8_3,n8_4,n8_5))
    GPIO.output(enable, 1)
    time.sleep(0.0005) 
    GPIO.output(enable, 0)
    GPIO.output(gate, 1)

    time.sleep(speed)
        
    GPIO.output(gate, 0)
    c1.set("gray84")
    nameb8_0.configure(background=c1.get())
    if s8_7 == 0:
        None
    else:
        return

#note 10
    c1.set("light blue")
    nameb9_0.configure(background=c1.get())
    GPIO.output(chan_list, (n9_0,n9_1,n9_2,n9_3,n9_4,n9_5))
    GPIO.output(enable, 1)
    time.sleep(0.0005) 
    GPIO.output(enable, 0)
    GPIO.output(gate, 1)

    time.sleep(speed)
        
    GPIO.output(gate, 0)
    c1.set("gray84")
    nameb9_0.configure(background=c1.get())
    if s9_7 == 0:
        None
    else:
        return

#note 11
    c1.set("light blue")
    nameb10_0.configure(background=c1.get())
    GPIO.output(chan_list, (n10_0,n10_1,n10_2,n10_3,n10_4,n10_5))
    GPIO.output(enable, 1)
    time.sleep(0.0005) 
    GPIO.output(enable, 0)
    GPIO.output(gate, 1)

    time.sleep(speed)
        
    GPIO.output(gate, 0)
    c1.set("gray84")
    nameb10_0.configure(background=c1.get())
    if s10_7 == 0:
        None
    else:
        return

#note 12
    c1.set("light blue")
    nameb11_0.configure(background=c1.get())
    GPIO.output(chan_list, (n11_0,n11_1,n11_2,n11_3,n11_4,n11_5))
    GPIO.output(enable, 1)
    time.sleep(0.0005) 
    GPIO.output(enable, 0)
    GPIO.output(gate, 1)

    time.sleep(speed)
        
    GPIO.output(gate, 0)
    c1.set("gray84")
    nameb11_0.configure(background=c1.get())
    if s11_7 == 0:
        None
    else:
        return

#note 13
    c1.set("light blue")
    nameb12_0.configure(background=c1.get())
    GPIO.output(chan_list, (n12_0,n12_1,n12_2,n12_3,n12_4,n12_5))
    GPIO.output(enable, 1)
    time.sleep(0.0005) 
    GPIO.output(enable, 0)
    GPIO.output(gate, 1)
        
    time.sleep(speed)
    
    GPIO.output(gate, 0)
    c1.set("gray84")
    nameb12_0.configure(background=c1.get())
    if s12_7 == 0:
        None
    else:
        return

#note 14
    c1.set("light blue")
    nameb13_0.configure(background=c1.get())
    GPIO.output(chan_list, (n13_0,n13_1,n13_2,n13_3,n13_4,n13_5))
    GPIO.output(enable, 1)
    time.sleep(0.0005) 
    GPIO.output(enable, 0)
    GPIO.output(gate, 1)

    time.sleep(speed)
    
    GPIO.output(gate, 0)
    c1.set("gray84")
    nameb13_0.configure(background=c1.get())
    if s13_7 == 0:
        None
    else:
        return

#note 15
    c1.set("light blue")
    nameb14_0.configure(background=c1.get())
    GPIO.output(chan_list, (n14_0,n14_1,n14_2,n14_3,n14_4,n14_5))
    GPIO.output(enable, 1)
    time.sleep(0.0005) 
    GPIO.output(enable, 0)
    GPIO.output(gate, 1)
        
    time.sleep(speed)
    
    GPIO.output(gate, 0)
    c1.set("gray84")
    nameb14_0.configure(background=c1.get())
    if s14_7 == 0:
        None
    else:
        return

#note 16
    c1.set("light blue")
    nameb15_0.configure(background=c1.get())
    GPIO.output(chan_list, (n15_0,n15_1,n15_2,n15_3,n15_4,n15_5))
    GPIO.output(enable, 1)
    time.sleep(0.0005) 
    GPIO.output(enable, 0)
    GPIO.output(gate, 1)

    time.sleep(speed)
    
    GPIO.output(gate, 0)
    c1.set("gray84")
    nameb15_0.configure(background=c1.get())
    if s15_7 == 0:
        None
    else:
        return

#note 17
    c1.set("light blue")
    nameb16_0.configure(background=c1.get())
    GPIO.output(chan_list, (n16_0,n16_1,n16_2,n16_3,n16_4,n16_5))
    GPIO.output(enable, 1)
    time.sleep(0.0005) 
    GPIO.output(enable, 0)
    GPIO.output(gate, 1)

    time.sleep(speed)
    
    GPIO.output(gate, 0)
    c1.set("gray84")
    nameb16_0.configure(background=c1.get())
    if s16_7 == 0:
        None
    else:
        return
        
#note 18
    c1.set("light blue")
    nameb17_0.configure(background=c1.get())
    GPIO.output(chan_list, (n17_0,n17_1,n17_2,n17_3,n17_4,n17_5))
    GPIO.output(enable, 1)
    time.sleep(0.0005) 
    GPIO.output(enable, 0)
    GPIO.output(gate, 1)
        
    time.sleep(speed)
    
    GPIO.output(gate, 0)
    c1.set("gray84")
    nameb17_0.configure(background=c1.get())
    if s17_7 == 0:
        None
    else:
        return

#note 19
    c1.set("light blue")
    nameb18_0.configure(background=c1.get())
    GPIO.output(chan_list, (n18_0,n18_1,n18_2,n18_3,n18_4,n18_5))
    GPIO.output(enable, 1)
    time.sleep(0.0005) 
    GPIO.output(enable, 0)
    GPIO.output(gate, 1)

    time.sleep(speed)
        
    GPIO.output(gate, 0)
    c1.set("gray84")
    nameb18_0.configure(background=c1.get())
    if s18_7 == 0:
        None
    else:
        return
        
#note 20
    c1.set("light blue")
    nameb19_0.configure(background=c1.get())
    GPIO.output(chan_list, (n19_0,n19_1,n19_2,n19_3,n19_4,n19_5))
    GPIO.output(enable, 1)
    time.sleep(0.0005) 
    GPIO.output(enable, 0)
    GPIO.output(gate, 1)

    time.sleep(speed)
        
    GPIO.output(gate, 0)
    c1.set("gray84")
    nameb19_0.configure(background=c1.get())
    if s19_7 == 0:
        None
    else:
        return
            
#note 21
    c1.set("light blue")
    nameb20_0.configure(background=c1.get())
    GPIO.output(chan_list, (n20_0,n20_1,n20_2,n20_3,n20_4,n20_5))
    GPIO.output(enable, 1)
    time.sleep(0.0005) 
    GPIO.output(enable, 0)
    GPIO.output(gate, 1)

    time.sleep(speed)
        
    GPIO.output(gate, 0)
    c1.set("gray84")
    nameb20_0.configure(background=c1.get())
    if s20_7 == 0:
        None
    else:
        return

#note 22
    c1.set("light blue")
    nameb21_0.configure(background=c1.get())
    GPIO.output(chan_list, (n21_0,n21_1,n21_2,n21_3,n21_4,n21_5))
    GPIO.output(enable, 1)
    time.sleep(0.0005) 
    GPIO.output(enable, 0)
    GPIO.output(gate, 1)

    time.sleep(speed)
        
    GPIO.output(gate, 0)
    c1.set("gray84")
    nameb21_0.configure(background=c1.get())
    if s21_7 == 0:
        None
    else:
        return

#note 23
    c1.set("light blue")
    nameb22_0.configure(background=c1.get())
    GPIO.output(chan_list, (n22_0,n22_1,n22_2,n22_3,n22_4,n22_5))
    GPIO.output(enable, 1)
    time.sleep(0.0005) 
    GPIO.output(enable, 0)
    GPIO.output(gate, 1)

    time.sleep(speed)
        
    GPIO.output(gate, 0)
    c1.set("gray84")
    nameb22_0.configure(background=c1.get())
    if s22_7 == 0:
        None
    else:
        return

#note 24
    c1.set("light blue")
    nameb23_0.configure(background=c1.get())
    GPIO.output(chan_list, (n23_0,n23_1,n23_2,n23_3,n23_4,n23_5))
    GPIO.output(enable, 1)
    time.sleep(0.0005) 
    GPIO.output(enable, 0)
    GPIO.output(gate, 1)

    time.sleep(speed)
        
    GPIO.output(gate, 0)
    c1.set("gray84")
    nameb23_0.configure(background=c1.get())
    if s23_7 == 0:
        None
    else:
        return

#note 25
    c1.set("light blue")
    nameb24_0.configure(background=c1.get())
    GPIO.output(chan_list, (n24_0,n24_1,n24_2,n24_3,n24_4,n24_5))
    GPIO.output(enable, 1)
    time.sleep(0.0005) 
    GPIO.output(enable, 0)
    GPIO.output(gate, 1)

    time.sleep(speed)
        
    GPIO.output(gate, 0)
    c1.set("gray84")
    nameb24_0.configure(background=c1.get())
    if s24_7 == 0:
        None
    else:
        return
            
#note 26
    c1.set("light blue")
    nameb25_0.configure(background=c1.get())
    GPIO.output(chan_list, (n25_0,n25_1,n25_2,n25_3,n25_4,n25_5))
    GPIO.output(enable, 1)
    time.sleep(0.0005) 
    GPIO.output(enable, 0)
    GPIO.output(gate, 1)

    time.sleep(speed)
        
    GPIO.output(gate, 0)
    c1.set("gray84")
    nameb25_0.configure(background=c1.get())
    if s25_7 == 0:
        None
    else:
        return

#note 27
    c1.set("light blue")
    nameb26_0.configure(background=c1.get())
    GPIO.output(chan_list, (n26_0,n26_1,n26_2,n26_3,n26_4,n26_5))
    GPIO.output(enable, 1)
    time.sleep(0.0005) 
    GPIO.output(enable, 0)
    GPIO.output(gate, 1)

    time.sleep(speed)
        
    GPIO.output(gate, 0)
    c1.set("gray84")
    nameb26_0.configure(background=c1.get())
    if s26_7 == 0:
        None
    else:
        return

#note 28
    c1.set("light blue")
    nameb27_0.configure(background=c1.get())
    GPIO.output(chan_list, (n27_0,n27_1,n27_2,n27_3,n27_4,n27_5))
    GPIO.output(enable, 1)
    time.sleep(0.0005) 
    GPIO.output(enable, 0)
    GPIO.output(gate, 1)

    time.sleep(speed)
        
    GPIO.output(gate, 0)
    c1.set("gray84")
    nameb27_0.configure(background=c1.get())
    if s27_7 == 0:
        None
    else:
        return

#note 29
    c1.set("light blue")
    nameb28_0.configure(background=c1.get())
    GPIO.output(chan_list, (n28_0,n28_1,n28_2,n28_3,n28_4,n28_5))
    GPIO.output(enable, 1)
    time.sleep(0.0005) 
    GPIO.output(enable, 0)
    GPIO.output(gate, 1)
        
    time.sleep(speed)
    
    GPIO.output(gate, 0)
    c1.set("gray84")
    nameb28_0.configure(background=c1.get())
    if s28_7 == 0:
        None
    else:
        return

#note 30
    c1.set("light blue")
    nameb29_0.configure(background=c1.get())
    GPIO.output(chan_list, (n29_0,n29_1,n29_2,n29_3,n29_4,n29_5))
    GPIO.output(enable, 1)
    time.sleep(0.0005) 
    GPIO.output(enable, 0)
    GPIO.output(gate, 1)

    time.sleep(speed)
    
    GPIO.output(gate, 0)
    c1.set("gray84")
    nameb29_0.configure(background=c1.get())
    if s29_7 == 0:
        None
    else:
        return

#note 31
    c1.set("light blue")
    nameb30_0.configure(background=c1.get())
    GPIO.output(chan_list, (n30_0,n30_1,n30_2,n30_3,n30_4,n30_5))
    GPIO.output(enable, 1)
    time.sleep(0.0005) 
    GPIO.output(enable, 0)
    GPIO.output(gate, 1)
        
    time.sleep(speed)
    
    GPIO.output(gate, 0)
    c1.set("gray84")
    nameb30_0.configure(background=c1.get())
    if s30_7 == 0:
        None
    else:
        return

#note 32
    c1.set("light blue")
    nameb31_0.configure(background=c1.get())
    GPIO.output(chan_list, (n31_0,n31_1,n31_2,n31_3,n31_4,n31_5))
    GPIO.output(enable, 1)
    time.sleep(0.0005) 
    GPIO.output(enable, 0)
    GPIO.output(gate, 1)

    time.sleep(speed)
    
    GPIO.output(gate, 0)
    c1.set("gray84")
    nameb31_0.configure(background=c1.get())
    if s31_7 == 0:
        None
    else:
        return

def start():
    
    read()
    def run():

        while True:
            s0_7 = (b0_7var.get())
            if s0_7 == 1:
                b0_7.invoke()
                return

            r0_6 = (b0_6var.get())
            if r0_6 ==1:
                time.sleep(repeat) 
                play()
                GPIO.output(enable, 0)
                GPIO.output(gate, 0)
            else:
                play()
                GPIO.output(enable, 0)
                GPIO.output(gate, 0)                
                return
    t = threading.Thread(target=run)
    t.daemon=True
    t.start()


def stop():
    def halt():
        if b0_7var.get()==0:
            b0_7.invoke()
    
    t1 = threading.Thread(target=halt)
    t1.daemon=True
    t1.start()


# All Checkbuttons Off

def reset():
    global b0_7var
    if b0_0var.get()>0:
        b0_0.invoke()
    if b0_1var.get()>0:
        b0_1.invoke()
    if b0_2var.get()>0:
        b0_2.invoke()
    if b0_3var.get()>0:
        b0_3.invoke()
    if b0_4var.get()>0:
        b0_4.invoke()
    if b0_5var.get()>0:
        b0_5.invoke()
    if b0_6var.get()>0:
        b0_6.invoke()
    if b0_7var.get()>0:
        b0_7.invoke()

    if b1_0var.get()>0:
        b1_0.invoke()
    if b1_1var.get()>0:
        b1_1.invoke()
    if b1_2var.get()>0:
        b1_2.invoke()
    if b1_3var.get()>0:
        b1_3.invoke()
    if b1_4var.get()>0:
        b1_4.invoke()
    if b1_5var.get()>0:
        b1_5.invoke()
    if b1_7var.get()>0:
        b1_7.invoke()

    if b2_0var.get()>0:
        b2_0.invoke()
    if b2_1var.get()>0:
        b2_1.invoke()
    if b2_2var.get()>0:
        b2_2.invoke()
    if b2_3var.get()>0:
        b2_3.invoke()
    if b2_4var.get()>0:
        b2_4.invoke()
    if b2_5var.get()>0:
        b2_5.invoke()
    if b2_7var.get()>0:
        b2_7.invoke()

    if b3_0var.get()>0:
        b3_0.invoke()
    if b3_1var.get()>0:
        b3_1.invoke()
    if b3_2var.get()>0:
        b3_2.invoke()
    if b3_3var.get()>0:
        b3_3.invoke()
    if b3_4var.get()>0:
        b3_4.invoke()
    if b3_5var.get()>0:
        b3_5.invoke()
    if b3_7var.get()>0:
        b3_7.invoke()

    if b4_0var.get()>0:
        b4_0.invoke()
    if b4_1var.get()>0:
        b4_1.invoke()
    if b4_2var.get()>0:
        b4_2.invoke()
    if b4_3var.get()>0:
        b4_3.invoke()
    if b4_4var.get()>0:
        b4_4.invoke()
    if b4_5var.get()>0:
        b4_5.invoke()
    if b4_7var.get()>0:
        b4_7.invoke()

    if b5_0var.get()>0:
        b5_0.invoke()
    if b5_1var.get()>0:
        b5_1.invoke()
    if b5_2var.get()>0:
        b5_2.invoke()
    if b5_3var.get()>0:
        b5_3.invoke()
    if b5_4var.get()>0:
        b5_4.invoke()
    if b5_5var.get()>0:
        b5_5.invoke()
    if b5_7var.get()>0:
        b5_7.invoke()

    if b6_0var.get()>0:
        b6_0.invoke()
    if b6_1var.get()>0:
        b6_1.invoke()
    if b6_2var.get()>0:
        b6_2.invoke()
    if b6_3var.get()>0:
        b6_3.invoke()
    if b6_4var.get()>0:
        b6_4.invoke()
    if b6_5var.get()>0:
        b6_5.invoke()
    if b6_7var.get()>0:
        b6_7.invoke()

    if b7_0var.get()>0:
        b7_0.invoke()
    if b7_1var.get()>0:
        b7_1.invoke()
    if b7_2var.get()>0:
        b7_2.invoke()
    if b7_3var.get()>0:
        b7_3.invoke()
    if b7_4var.get()>0:
        b7_4.invoke()
    if b7_5var.get()>0:
        b7_5.invoke()
    if b7_7var.get()>0:
        b7_7.invoke()

    if b8_0var.get()>0:
        b8_0.invoke()
    if b8_1var.get()>0:
        b8_1.invoke()
    if b8_2var.get()>0:
        b8_2.invoke()
    if b8_3var.get()>0:
        b8_3.invoke()
    if b8_4var.get()>0:
        b8_4.invoke()
    if b8_5var.get()>0:
        b8_5.invoke()
    if b8_7var.get()>0:
        b8_7.invoke()

    if b9_0var.get()>0:
        b9_0.invoke()
    if b9_1var.get()>0:
        b9_1.invoke()
    if b9_2var.get()>0:
        b9_2.invoke()
    if b9_3var.get()>0:
        b9_3.invoke()
    if b9_4var.get()>0:
        b9_4.invoke()
    if b9_5var.get()>0:
        b9_5.invoke()
    if b9_7var.get()>0:
        b9_7.invoke()

    if b10_0var.get()>0:
        b10_0.invoke()
    if b10_1var.get()>0:
        b10_1.invoke()
    if b10_2var.get()>0:
        b10_2.invoke()
    if b10_3var.get()>0:
        b10_3.invoke()
    if b10_4var.get()>0:
        b10_4.invoke()
    if b10_5var.get()>0:
        b10_5.invoke()
    if b10_7var.get()>0:
        b10_7.invoke()

    if b11_0var.get()>0:
        b11_0.invoke()
    if b11_1var.get()>0:
        b11_1.invoke()
    if b11_2var.get()>0:
        b11_2.invoke()
    if b11_3var.get()>0:
        b11_3.invoke()
    if b11_4var.get()>0:
        b11_4.invoke()
    if b11_5var.get()>0:
        b11_5.invoke()
    if b11_7var.get()>0:
        b11_7.invoke()

    if b12_0var.get()>0:
        b12_0.invoke()
    if b12_1var.get()>0:
        b12_1.invoke()
    if b12_2var.get()>0:
        b12_2.invoke()
    if b12_3var.get()>0:
        b12_3.invoke()
    if b12_4var.get()>0:
        b12_4.invoke()
    if b12_5var.get()>0:
        b12_5.invoke()
    if b12_7var.get()>0:
        b12_7.invoke()

    if b13_0var.get()>0:
        b13_0.invoke()
    if b13_1var.get()>0:
        b13_1.invoke()
    if b13_2var.get()>0:
        b13_2.invoke()
    if b13_3var.get()>0:
        b13_3.invoke()
    if b13_4var.get()>0:
        b13_4.invoke()
    if b13_5var.get()>0:
        b13_5.invoke()
    if b13_7var.get()>0:
        b13_7.invoke()

    if b14_0var.get()>0:
        b14_0.invoke()
    if b14_1var.get()>0:
        b14_1.invoke()
    if b14_2var.get()>0:
        b14_2.invoke()
    if b14_3var.get()>0:
        b14_3.invoke()
    if b14_4var.get()>0:
        b14_4.invoke()
    if b14_5var.get()>0:
        b14_5.invoke()
    if b14_7var.get()>0:
        b14_7.invoke()

    if b15_0var.get()>0:
        b15_0.invoke()
    if b15_1var.get()>0:
        b15_1.invoke()
    if b15_2var.get()>0:
        b15_2.invoke()
    if b15_3var.get()>0:
        b15_3.invoke()
    if b15_4var.get()>0:
        b15_4.invoke()
    if b15_5var.get()>0:
        b15_5.invoke()
    if b15_7var.get()>0:
        b15_7.invoke()
        
    if b16_0var.get()>0:
        b16_0.invoke()
    if b16_1var.get()>0:
        b16_1.invoke()
    if b16_2var.get()>0:
        b16_2.invoke()
    if b16_3var.get()>0:
        b16_3.invoke()
    if b16_4var.get()>0:
        b16_4.invoke()
    if b16_5var.get()>0:
        b16_5.invoke()
    if b16_7var.get()>0:
        b16_7.invoke()

    if b17_0var.get()>0:
        b17_0.invoke()
    if b17_1var.get()>0:
        b17_1.invoke()
    if b17_2var.get()>0:
        b17_2.invoke()
    if b17_3var.get()>0:
        b17_3.invoke()
    if b17_4var.get()>0:
        b17_4.invoke()
    if b17_5var.get()>0:
        b17_5.invoke()
    if b17_7var.get()>0:
        b17_7.invoke()

    if b18_0var.get()>0:
        b18_0.invoke()
    if b18_1var.get()>0:
        b18_1.invoke()
    if b18_2var.get()>0:
        b18_2.invoke()
    if b18_3var.get()>0:
        b18_3.invoke()
    if b18_4var.get()>0:
        b18_4.invoke()
    if b18_5var.get()>0:
        b18_5.invoke()
    if b18_7var.get()>0:
        b18_7.invoke()

    if b19_0var.get()>0:
        b19_0.invoke()
    if b19_1var.get()>0:
        b19_1.invoke()
    if b19_2var.get()>0:
        b19_2.invoke()
    if b19_3var.get()>0:
        b19_3.invoke()
    if b19_4var.get()>0:
        b19_4.invoke()
    if b19_5var.get()>0:
        b19_5.invoke()
    if b19_7var.get()>0:
        b19_7.invoke()

    if b20_0var.get()>0:
        b20_0.invoke()
    if b20_1var.get()>0:
        b20_1.invoke()
    if b20_2var.get()>0:
        b20_2.invoke()
    if b20_3var.get()>0:
        b20_3.invoke()
    if b20_4var.get()>0:
        b20_4.invoke()
    if b20_5var.get()>0:
        b20_5.invoke()
    if b20_7var.get()>0:
        b20_7.invoke()

    if b21_0var.get()>0:
        b21_0.invoke()
    if b21_1var.get()>0:
        b21_1.invoke()
    if b21_2var.get()>0:
        b21_2.invoke()
    if b21_3var.get()>0:
        b21_3.invoke()
    if b21_4var.get()>0:
        b21_4.invoke()
    if b21_5var.get()>0:
        b21_5.invoke()
    if b21_7var.get()>0:
        b21_7.invoke()

    if b22_0var.get()>0:
        b22_0.invoke()
    if b22_1var.get()>0:
        b22_1.invoke()
    if b22_2var.get()>0:
        b22_2.invoke()
    if b22_3var.get()>0:
        b22_3.invoke()
    if b22_4var.get()>0:
        b22_4.invoke()
    if b22_5var.get()>0:
        b22_5.invoke()
    if b22_7var.get()>0:
        b22_7.invoke()

    if b23_0var.get()>0:
        b23_0.invoke()
    if b23_1var.get()>0:
        b23_1.invoke()
    if b23_2var.get()>0:
        b23_2.invoke()
    if b23_3var.get()>0:
        b23_3.invoke()
    if b23_4var.get()>0:
        b23_4.invoke()
    if b23_5var.get()>0:
        b23_5.invoke()
    if b23_7var.get()>0:
        b23_7.invoke()

    if b24_0var.get()>0:
        b24_0.invoke()
    if b24_1var.get()>0:
        b24_1.invoke()
    if b24_2var.get()>0:
        b24_2.invoke()
    if b24_3var.get()>0:
        b24_3.invoke()
    if b24_4var.get()>0:
        b24_4.invoke()
    if b24_5var.get()>0:
        b24_5.invoke()
    if b24_7var.get()>0:
        b24_7.invoke()

    if b25_0var.get()>0:
        b25_0.invoke()
    if b25_1var.get()>0:
        b25_1.invoke()
    if b25_2var.get()>0:
        b25_2.invoke()
    if b25_3var.get()>0:
        b25_3.invoke()
    if b25_4var.get()>0:
        b25_4.invoke()
    if b25_5var.get()>0:
        b25_5.invoke()
    if b25_7var.get()>0:
        b25_7.invoke()

    if b26_0var.get()>0:
        b26_0.invoke()
    if b26_1var.get()>0:
        b26_1.invoke()
    if b26_2var.get()>0:
        b26_2.invoke()
    if b26_3var.get()>0:
        b26_3.invoke()
    if b26_4var.get()>0:
        b26_4.invoke()
    if b26_5var.get()>0:
        b26_5.invoke()
    if b26_7var.get()>0:
        b26_7.invoke()

    if b27_0var.get()>0:
        b27_0.invoke()
    if b27_1var.get()>0:
        b27_1.invoke()
    if b27_2var.get()>0:
        b27_2.invoke()
    if b27_3var.get()>0:
        b27_3.invoke()
    if b27_4var.get()>0:
        b27_4.invoke()
    if b27_5var.get()>0:
        b27_5.invoke()
    if b27_7var.get()>0:
        b27_7.invoke()

    if b28_0var.get()>0:
        b28_0.invoke()
    if b28_1var.get()>0:
        b28_1.invoke()
    if b28_2var.get()>0:
        b28_2.invoke()
    if b28_3var.get()>0:
        b28_3.invoke()
    if b28_4var.get()>0:
        b28_4.invoke()
    if b28_5var.get()>0:
        b28_5.invoke()
    if b28_7var.get()>0:
        b28_7.invoke()

    if b29_0var.get()>0:
        b29_0.invoke()
    if b29_1var.get()>0:
        b29_1.invoke()
    if b29_2var.get()>0:
        b29_2.invoke()
    if b29_3var.get()>0:
        b29_3.invoke()
    if b29_4var.get()>0:
        b29_4.invoke()
    if b29_5var.get()>0:
        b29_5.invoke()
    if b29_7var.get()>0:
        b29_7.invoke()

    if b30_0var.get()>0:
        b30_0.invoke()
    if b30_1var.get()>0:
        b30_1.invoke()
    if b30_2var.get()>0:
        b30_2.invoke()
    if b30_3var.get()>0:
        b30_3.invoke()
    if b30_4var.get()>0:
        b30_4.invoke()
    if b30_5var.get()>0:
        b30_5.invoke()
    if b30_7var.get()>0:
        b30_7.invoke()

    if b31_0var.get()>0:
        b31_0.invoke()
    if b31_1var.get()>0:
        b31_1.invoke()
    if b31_2var.get()>0:
        b31_2.invoke()
    if b31_3var.get()>0:
        b31_3.invoke()
    if b31_4var.get()>0:
        b31_4.invoke()
    if b31_5var.get()>0:
        b31_5.invoke()
    if b31_7var.get()>0:
        b31_7.invoke()       

    
#t2 = threading.Thread(target=reset)
#t2.daemon=True
#t2.start()

root = Tk()

content = ttk.Frame(root, padding=(24,3,12,12))
#for displaying speed
show_speed = StringVar()
show_speed.set('0.5')
#for displaying repeat time
show_repeat = StringVar()
show_repeat.set('0.5')

#for note colour change
global c1
c1 = StringVar()

# Row 1 Draw

# defining labels
nameb0_0 = ttk.Label(content, text="Note 1", background=c1.get())
nameb1_0 = ttk.Label(content, text="Note 2", background=c1.get())
nameb2_0 = ttk.Label(content, text="Note 3", background=c1.get())
nameb3_0 = ttk.Label(content, text="Note 4", background=c1.get())

# Defining number type
b0_0var = IntVar()
b0_1var = IntVar()
b0_2var = IntVar()
b0_3var = IntVar()
b0_4var = IntVar()
b0_5var = IntVar()
b0_6var = IntVar()
b0_7var = IntVar()

b1_0var = IntVar()
b1_1var = IntVar()
b1_2var = IntVar()
b1_3var = IntVar()
b1_4var = IntVar()
b1_5var = IntVar()
b1_7var = IntVar()

b2_0var = IntVar()
b2_1var = IntVar()
b2_2var = IntVar()
b2_3var = IntVar()
b2_4var = IntVar()
b2_5var = IntVar()
b2_7var = IntVar()

b3_0var = IntVar()
b3_1var = IntVar()
b3_2var = IntVar()
b3_3var = IntVar()
b3_4var = IntVar()
b3_5var = IntVar()
b3_7var = IntVar()

# setting default button position
b0_0var.set(0)
b0_1var.set(0)
b0_2var.set(0)
b0_3var.set(0)
b0_4var.set(0)
b0_5var.set(0)
b0_6var.set(0)
b0_7var.set(0)

b1_0var.set(0)
b1_1var.set(0)
b1_2var.set(0)
b1_3var.set(0)
b1_4var.set(0)
b1_5var.set(0)
b1_7var.set(0)

b2_0var.set(0)
b2_1var.set(0)
b2_2var.set(0)
b2_3var.set(0)
b2_4var.set(0)
b2_5var.set(0)
b2_7var.set(0)

b3_0var.set(0)
b3_1var.set(0)
b3_2var.set(0)
b3_3var.set(0)
b3_4var.set(0)
b3_5var.set(0)
b3_7var.set(0)

# defining button



b0_0 = ttk.Checkbutton(content, text="1", variable=b0_0var, onvalue=1, offvalue=0)
b0_1 = ttk.Checkbutton(content, text="2", variable=b0_1var, onvalue=1, offvalue=0)
b0_2 = ttk.Checkbutton(content, text="4", variable=b0_2var, onvalue=1, offvalue=0)
b0_3 = ttk.Checkbutton(content, text="8", variable=b0_3var, onvalue=1, offvalue=0)
b0_4 = ttk.Checkbutton(content, text="16", variable=b0_4var, onvalue=1, offvalue=0)
b0_5 = ttk.Checkbutton(content, text="32", variable=b0_5var, onvalue=1, offvalue=0)
b0_6 = ttk.Checkbutton(content, text="REPEAT", variable=b0_6var, onvalue=1, offvalue=0)
b0_7 = ttk.Checkbutton(content, text="STOP", variable=b0_7var, onvalue=1, offvalue=0)

b1_0 = ttk.Checkbutton(content, text="1", variable=b1_0var, onvalue=1, offvalue=0)
b1_1 = ttk.Checkbutton(content, text="2", variable=b1_1var, onvalue=1, offvalue=0)
b1_2 = ttk.Checkbutton(content, text="4", variable=b1_2var, onvalue=1, offvalue=0)
b1_3 = ttk.Checkbutton(content, text="8", variable=b1_3var, onvalue=1, offvalue=0)
b1_4 = ttk.Checkbutton(content, text="16", variable=b1_4var, onvalue=1, offvalue=0)
b1_5 = ttk.Checkbutton(content, text="32", variable=b1_5var, onvalue=1, offvalue=0)
b1_7 = ttk.Checkbutton(content, text="HALT", variable=b1_7var, onvalue=1, offvalue=0)

b2_0 = ttk.Checkbutton(content, text="1", variable=b2_0var, onvalue=1, offvalue=0)
b2_1 = ttk.Checkbutton(content, text="2", variable=b2_1var, onvalue=1, offvalue=0)
b2_2 = ttk.Checkbutton(content, text="4", variable=b2_2var, onvalue=1, offvalue=0)
b2_3 = ttk.Checkbutton(content, text="8", variable=b2_3var, onvalue=1, offvalue=0)
b2_4 = ttk.Checkbutton(content, text="16", variable=b2_4var, onvalue=1, offvalue=0)
b2_5 = ttk.Checkbutton(content, text="32", variable=b2_5var, onvalue=1, offvalue=0)
b2_7 = ttk.Checkbutton(content, text="HALT", variable=b2_7var, onvalue=1, offvalue=0)

b3_0 = ttk.Checkbutton(content, text="1", variable=b3_0var, onvalue=1, offvalue=0)
b3_1 = ttk.Checkbutton(content, text="2", variable=b3_1var, onvalue=1, offvalue=0)
b3_2 = ttk.Checkbutton(content, text="4", variable=b3_2var, onvalue=1, offvalue=0)
b3_3 = ttk.Checkbutton(content, text="8", variable=b3_3var, onvalue=1, offvalue=0)
b3_4 = ttk.Checkbutton(content, text="16", variable=b3_4var, onvalue=1, offvalue=0)
b3_5 = ttk.Checkbutton(content, text="32", variable=b3_5var, onvalue=1, offvalue=0)
b3_7 = ttk.Checkbutton(content, text="HALT", variable=b3_7var, onvalue=1, offvalue=0)


content.grid(column=0, row=0)

# placing text above each byte
nameb0_0.grid(column=4, row=0, columnspan=2)
nameb1_0.grid(column=4, row=5, columnspan=2)
nameb2_0.grid(column=4, row=11, columnspan=2)
nameb3_0.grid(column=4, row=17, columnspan=2)


# placing buttons on grid
b0_0.grid(column=1,row=3)
b0_1.grid(column=2,row=3)
b0_2.grid(column=3,row=3)
b0_3.grid(column=4,row=3)
b0_4.grid(column=5,row=3)
b0_5.grid(column=6,row=3, ipadx=10)
b0_6.grid(column=18,row=54)
b0_7.grid(column=8,row=3, ipadx=30)

b1_0.grid(column=1,row=6)
b1_1.grid(column=2,row=6)
b1_2.grid(column=3,row=6)
b1_3.grid(column=4,row=6)
b1_4.grid(column=5,row=6)
b1_5.grid(column=6,row=6, ipadx=10)
b1_7.grid(column=8,row=6, ipadx=30)

b2_0.grid(column=1,row=12)
b2_1.grid(column=2,row=12)
b2_2.grid(column=3,row=12)
b2_3.grid(column=4,row=12)
b2_4.grid(column=5,row=12)
b2_5.grid(column=6,row=12, ipadx=10)
b2_7.grid(column=8,row=12, ipadx=30)

b3_0.grid(column=1,row=18)
b3_1.grid(column=2,row=18)
b3_2.grid(column=3,row=18)
b3_3.grid(column=4,row=18)
b3_4.grid(column=5,row=18)
b3_5.grid(column=6,row=18, ipadx=10)
b3_7.grid(column=8,row=18, ipadx=30)


# Row 2 Draw

# defining labels
nameb4_0 = ttk.Label(content, text="Note 5", background=c1.get())
nameb5_0 = ttk.Label(content, text="Note 6", background=c1.get())
nameb6_0 = ttk.Label(content, text="Note 7", background=c1.get())
nameb7_0 = ttk.Label(content, text="Note 8", background=c1.get())


# Defining number type
b4_0var = IntVar()
b4_1var = IntVar()
b4_2var = IntVar()
b4_3var = IntVar()
b4_4var = IntVar()
b4_5var = IntVar()
b4_7var = IntVar()

b5_0var = IntVar()
b5_1var = IntVar()
b5_2var = IntVar()
b5_3var = IntVar()
b5_4var = IntVar()
b5_5var = IntVar()
b5_7var = IntVar()

b6_0var = IntVar()
b6_1var = IntVar()
b6_2var = IntVar()
b6_3var = IntVar()
b6_4var = IntVar()
b6_5var = IntVar()
b6_7var = IntVar()

b7_0var = IntVar()
b7_1var = IntVar()
b7_2var = IntVar()
b7_3var = IntVar()
b7_4var = IntVar()
b7_5var = IntVar()
b7_7var = IntVar()

# Setting default button position
b4_0var.set(0)
b4_1var.set(0)
b4_2var.set(0)
b4_3var.set(0)
b4_4var.set(0)
b4_5var.set(0)
b4_7var.set(0)

b5_0var.set(0)
b5_1var.set(0)
b5_2var.set(0)
b5_3var.set(0)
b5_4var.set(0)
b5_5var.set(0)
b5_7var.set(0)

b6_0var.set(0)
b6_1var.set(0)
b6_2var.set(0)
b6_3var.set(0)
b6_4var.set(0)
b6_5var.set(0)
b6_7var.set(0)

b7_0var.set(0)
b7_1var.set(0)
b7_2var.set(0)
b7_3var.set(0)
b7_4var.set(0)
b7_5var.set(0)
b7_7var.set(0)

# Defining button
b4_0 = ttk.Checkbutton(content, text="1", variable=b4_0var, onvalue=1, offvalue=0)
b4_1 = ttk.Checkbutton(content, text="2", variable=b4_1var, onvalue=1, offvalue=0)
b4_2 = ttk.Checkbutton(content, text="4", variable=b4_2var, onvalue=1, offvalue=0)
b4_3 = ttk.Checkbutton(content, text="8", variable=b4_3var, onvalue=1, offvalue=0)
b4_4 = ttk.Checkbutton(content, text="16", variable=b4_4var, onvalue=1, offvalue=0)
b4_5 = ttk.Checkbutton(content, text="32", variable=b4_5var, onvalue=1, offvalue=0)
b4_7 = ttk.Checkbutton(content, text="HALT", variable=b4_7var, onvalue=1, offvalue=0)

b5_0 = ttk.Checkbutton(content, text="1", variable=b5_0var, onvalue=1, offvalue=0)
b5_1 = ttk.Checkbutton(content, text="2", variable=b5_1var, onvalue=1, offvalue=0)
b5_2 = ttk.Checkbutton(content, text="4", variable=b5_2var, onvalue=1, offvalue=0)
b5_3 = ttk.Checkbutton(content, text="8", variable=b5_3var, onvalue=1, offvalue=0)
b5_4 = ttk.Checkbutton(content, text="16", variable=b5_4var, onvalue=1, offvalue=0)
b5_5 = ttk.Checkbutton(content, text="32", variable=b5_5var, onvalue=1, offvalue=0)
b5_7 = ttk.Checkbutton(content, text="HALT", variable=b5_7var, onvalue=1, offvalue=0)

b6_0 = ttk.Checkbutton(content, text="1", variable=b6_0var, onvalue=1, offvalue=0)
b6_1 = ttk.Checkbutton(content, text="2", variable=b6_1var, onvalue=1, offvalue=0)
b6_2 = ttk.Checkbutton(content, text="4", variable=b6_2var, onvalue=1, offvalue=0)
b6_3 = ttk.Checkbutton(content, text="8", variable=b6_3var, onvalue=1, offvalue=0)
b6_4 = ttk.Checkbutton(content, text="16", variable=b6_4var, onvalue=1, offvalue=0)
b6_5 = ttk.Checkbutton(content, text="32", variable=b6_5var, onvalue=1, offvalue=0)
b6_7 = ttk.Checkbutton(content, text="HALT", variable=b6_7var, onvalue=1, offvalue=0)

b7_0 = ttk.Checkbutton(content, text="1", variable=b7_0var, onvalue=1, offvalue=0)
b7_1 = ttk.Checkbutton(content, text="2", variable=b7_1var, onvalue=1, offvalue=0)
b7_2 = ttk.Checkbutton(content, text="4", variable=b7_2var, onvalue=1, offvalue=0)
b7_3 = ttk.Checkbutton(content, text="8", variable=b7_3var, onvalue=1, offvalue=0)
b7_4 = ttk.Checkbutton(content, text="16", variable=b7_4var, onvalue=1, offvalue=0)
b7_5 = ttk.Checkbutton(content, text="32", variable=b7_5var, onvalue=1, offvalue=0)
b7_7 = ttk.Checkbutton(content, text="HALT", variable=b7_7var, onvalue=1, offvalue=0)


content.grid(column=0, row=0)

# Placing text above each byte
nameb4_0.grid(column=4, row=23, columnspan=2)
nameb5_0.grid(column=4, row=29, columnspan=2)
nameb6_0.grid(column=4, row=35, columnspan=2)
nameb7_0.grid(column=4, row=41, columnspan=2)

# Placing buttons on grid
b4_0.grid(column=1,row=24)
b4_1.grid(column=2,row=24)
b4_2.grid(column=3,row=24)
b4_3.grid(column=4,row=24)
b4_4.grid(column=5,row=24)
b4_5.grid(column=6,row=24, ipadx=10)
b4_7.grid(column=8,row=24, ipadx=30)

b5_0.grid(column=1,row=30)
b5_1.grid(column=2,row=30)
b5_2.grid(column=3,row=30)
b5_3.grid(column=4,row=30)
b5_4.grid(column=5,row=30)
b5_5.grid(column=6,row=30, ipadx=10)
b5_7.grid(column=8,row=30, ipadx=30)

b6_0.grid(column=1,row=36)
b6_1.grid(column=2,row=36)
b6_2.grid(column=3,row=36)
b6_3.grid(column=4,row=36)
b6_4.grid(column=5,row=36)
b6_5.grid(column=6,row=36, ipadx=10)
b6_7.grid(column=8,row=36, ipadx=30)

b7_0.grid(column=1,row=42)
b7_1.grid(column=2,row=42)
b7_2.grid(column=3,row=42)
b7_3.grid(column=4,row=42)
b7_4.grid(column=5,row=42)
b7_5.grid(column=6,row=42, ipadx=10)
b7_7.grid(column=8,row=42, ipadx=30)

# Row 3 Draw

# defining labels
nameb8_0 = ttk.Label(content, text="Note 9", background=c1.get())
nameb9_0 = ttk.Label(content, text="Note 10", background=c1.get())
nameb10_0 = ttk.Label(content, text="Note 11", background=c1.get())
nameb11_0 = ttk.Label(content, text="Note 12", background=c1.get())


# Defining number type
b8_0var = IntVar()
b8_1var = IntVar()
b8_2var = IntVar()
b8_3var = IntVar()
b8_4var = IntVar()
b8_5var = IntVar()
b8_7var = IntVar()

b9_0var = IntVar()
b9_1var = IntVar()
b9_2var = IntVar()
b9_3var = IntVar()
b9_4var = IntVar()
b9_5var = IntVar()
b9_7var = IntVar()

b10_0var = IntVar()
b10_1var = IntVar()
b10_2var = IntVar()
b10_3var = IntVar()
b10_4var = IntVar()
b10_5var = IntVar()
b10_7var = IntVar()

b11_0var = IntVar()
b11_1var = IntVar()
b11_2var = IntVar()
b11_3var = IntVar()
b11_4var = IntVar()
b11_5var = IntVar()
b11_7var = IntVar()

# Setting default button position
b8_0var.set(0)
b8_1var.set(0)
b8_2var.set(0)
b8_3var.set(0)
b8_4var.set(0)
b8_5var.set(0)
b8_7var.set(0)

b9_0var.set(0)
b9_1var.set(0)
b9_2var.set(0)
b9_3var.set(0)
b9_4var.set(0)
b9_5var.set(0)
b9_7var.set(0)

b10_0var.set(0)
b10_1var.set(0)
b10_2var.set(0)
b10_3var.set(0)
b10_4var.set(0)
b10_5var.set(0)
b10_7var.set(0)

b11_0var.set(0)
b11_1var.set(0)
b11_2var.set(0)
b11_3var.set(0)
b11_4var.set(0)
b11_5var.set(0)
b11_7var.set(0)

# Defining button
b8_0 = ttk.Checkbutton(content, text="1", variable=b8_0var, onvalue=1, offvalue=0)
b8_1 = ttk.Checkbutton(content, text="2", variable=b8_1var, onvalue=1, offvalue=0)
b8_2 = ttk.Checkbutton(content, text="4", variable=b8_2var, onvalue=1, offvalue=0)
b8_3 = ttk.Checkbutton(content, text="8", variable=b8_3var, onvalue=1, offvalue=0)
b8_4 = ttk.Checkbutton(content, text="16", variable=b8_4var, onvalue=1, offvalue=0)
b8_5 = ttk.Checkbutton(content, text="32", variable=b8_5var, onvalue=1, offvalue=0)
b8_7 = ttk.Checkbutton(content, text="HALT", variable=b8_7var, onvalue=1, offvalue=0)

b9_0 = ttk.Checkbutton(content, text="1", variable=b9_0var, onvalue=1, offvalue=0)
b9_1 = ttk.Checkbutton(content, text="2", variable=b9_1var, onvalue=1, offvalue=0)
b9_2 = ttk.Checkbutton(content, text="4", variable=b9_2var, onvalue=1, offvalue=0)
b9_3 = ttk.Checkbutton(content, text="8", variable=b9_3var, onvalue=1, offvalue=0)
b9_4 = ttk.Checkbutton(content, text="16", variable=b9_4var, onvalue=1, offvalue=0)
b9_5 = ttk.Checkbutton(content, text="32", variable=b9_5var, onvalue=1, offvalue=0)
b9_7 = ttk.Checkbutton(content, text="HALT", variable=b9_7var, onvalue=1, offvalue=0)

b10_0 = ttk.Checkbutton(content, text="1", variable=b10_0var, onvalue=1, offvalue=0)
b10_1 = ttk.Checkbutton(content, text="2", variable=b10_1var, onvalue=1, offvalue=0)
b10_2 = ttk.Checkbutton(content, text="4", variable=b10_2var, onvalue=1, offvalue=0)
b10_3 = ttk.Checkbutton(content, text="8", variable=b10_3var, onvalue=1, offvalue=0)
b10_4 = ttk.Checkbutton(content, text="16", variable=b10_4var, onvalue=1, offvalue=0)
b10_5 = ttk.Checkbutton(content, text="32", variable=b10_5var, onvalue=1, offvalue=0)
b10_7 = ttk.Checkbutton(content, text="HALT", variable=b10_7var, onvalue=1, offvalue=0)

b11_0 = ttk.Checkbutton(content, text="1", variable=b11_0var, onvalue=1, offvalue=0)
b11_1 = ttk.Checkbutton(content, text="2", variable=b11_1var, onvalue=1, offvalue=0)
b11_2 = ttk.Checkbutton(content, text="4", variable=b11_2var, onvalue=1, offvalue=0)
b11_3 = ttk.Checkbutton(content, text="8", variable=b11_3var, onvalue=1, offvalue=0)
b11_4 = ttk.Checkbutton(content, text="16", variable=b11_4var, onvalue=1, offvalue=0)
b11_5 = ttk.Checkbutton(content, text="32", variable=b11_5var, onvalue=1, offvalue=0)
b11_7 = ttk.Checkbutton(content, text="HALT", variable=b11_7var, onvalue=1, offvalue=0)


content.grid(column=0, row=0)

# Placing text above each byte
nameb8_0.grid(column=4, row=47, columnspan=2)
nameb9_0.grid(column=4, row=53, columnspan=2)
nameb10_0.grid(column=4, row=59, columnspan=2)
nameb11_0.grid(column=4, row=65, columnspan=2)

# Placing buttons on grid
b8_0.grid(column=1,row=48)
b8_1.grid(column=2,row=48)
b8_2.grid(column=3,row=48)
b8_3.grid(column=4,row=48)
b8_4.grid(column=5,row=48)
b8_5.grid(column=6,row=48, ipadx=10)
b8_7.grid(column=8,row=48, ipadx=30)

b9_0.grid(column=1,row=54)
b9_1.grid(column=2,row=54)
b9_2.grid(column=3,row=54)
b9_3.grid(column=4,row=54)
b9_4.grid(column=5,row=54)
b9_5.grid(column=6,row=54, ipadx=10)
b9_7.grid(column=8,row=54, ipadx=30)

b10_0.grid(column=1,row=60)
b10_1.grid(column=2,row=60)
b10_2.grid(column=3,row=60)
b10_3.grid(column=4,row=60)
b10_4.grid(column=5,row=60)
b10_5.grid(column=6,row=60, ipadx=10)
b10_7.grid(column=8,row=60, ipadx=30)

b11_0.grid(column=1,row=66)
b11_1.grid(column=2,row=66)
b11_2.grid(column=3,row=66)
b11_3.grid(column=4,row=66)
b11_4.grid(column=5,row=66)
b11_5.grid(column=6,row=66, ipadx=10)
b11_7.grid(column=8,row=66, ipadx=30)

# Row 4 Draw

# defining labels
nameb12_0 = ttk.Label(content, text="Note 13", background=c1.get())
nameb13_0 = ttk.Label(content, text="Note 14", background=c1.get())
nameb14_0 = ttk.Label(content, text="Note 15", background=c1.get())
nameb15_0 = ttk.Label(content, text="Note 16", background=c1.get())


# Defining number type
b12_0var = IntVar()
b12_1var = IntVar()
b12_2var = IntVar()
b12_3var = IntVar()
b12_4var = IntVar()
b12_5var = IntVar()
b12_7var = IntVar()

b13_0var = IntVar()
b13_1var = IntVar()
b13_2var = IntVar()
b13_3var = IntVar()
b13_4var = IntVar()
b13_5var = IntVar()
b13_7var = IntVar()

b14_0var = IntVar()
b14_1var = IntVar()
b14_2var = IntVar()
b14_3var = IntVar()
b14_4var = IntVar()
b14_5var = IntVar()
b14_7var = IntVar()

b15_0var = IntVar()
b15_1var = IntVar()
b15_2var = IntVar()
b15_3var = IntVar()
b15_4var = IntVar()
b15_5var = IntVar()
b15_7var = IntVar()

# Setting default button position
b12_0var.set(0)
b12_1var.set(0)
b12_2var.set(0)
b12_3var.set(0)
b12_4var.set(0)
b12_5var.set(0)
b12_7var.set(0)

b13_0var.set(0)
b13_1var.set(0)
b13_2var.set(0)
b13_3var.set(0)
b13_4var.set(0)
b13_5var.set(0)
b13_7var.set(0)

b14_0var.set(0)
b14_1var.set(0)
b14_2var.set(0)
b14_3var.set(0)
b14_4var.set(0)
b14_5var.set(0)
b14_7var.set(0)

b15_0var.set(0)
b15_1var.set(0)
b15_2var.set(0)
b15_3var.set(0)
b15_4var.set(0)
b15_5var.set(0)
b15_7var.set(0)

# Defining button
b12_0 = ttk.Checkbutton(content, text="1", variable=b12_0var, onvalue=1, offvalue=0)
b12_1 = ttk.Checkbutton(content, text="2", variable=b12_1var, onvalue=1, offvalue=0)
b12_2 = ttk.Checkbutton(content, text="4", variable=b12_2var, onvalue=1, offvalue=0)
b12_3 = ttk.Checkbutton(content, text="8", variable=b12_3var, onvalue=1, offvalue=0)
b12_4 = ttk.Checkbutton(content, text="16", variable=b12_4var, onvalue=1, offvalue=0)
b12_5 = ttk.Checkbutton(content, text="32", variable=b12_5var, onvalue=1, offvalue=0)
b12_7 = ttk.Checkbutton(content, text="HALT", variable=b12_7var, onvalue=1, offvalue=0)

b13_0 = ttk.Checkbutton(content, text="1", variable=b13_0var, onvalue=1, offvalue=0)
b13_1 = ttk.Checkbutton(content, text="2", variable=b13_1var, onvalue=1, offvalue=0)
b13_2 = ttk.Checkbutton(content, text="4", variable=b13_2var, onvalue=1, offvalue=0)
b13_3 = ttk.Checkbutton(content, text="8", variable=b13_3var, onvalue=1, offvalue=0)
b13_4 = ttk.Checkbutton(content, text="16", variable=b13_4var, onvalue=1, offvalue=0)
b13_5 = ttk.Checkbutton(content, text="32", variable=b13_5var, onvalue=1, offvalue=0)
b13_7 = ttk.Checkbutton(content, text="HALT", variable=b13_7var, onvalue=1, offvalue=0)

b14_0 = ttk.Checkbutton(content, text="1", variable=b14_0var, onvalue=1, offvalue=0)
b14_1 = ttk.Checkbutton(content, text="2", variable=b14_1var, onvalue=1, offvalue=0)
b14_2 = ttk.Checkbutton(content, text="4", variable=b14_2var, onvalue=1, offvalue=0)
b14_3 = ttk.Checkbutton(content, text="8", variable=b14_3var, onvalue=1, offvalue=0)
b14_4 = ttk.Checkbutton(content, text="16", variable=b14_4var, onvalue=1, offvalue=0)
b14_5 = ttk.Checkbutton(content, text="32", variable=b14_5var, onvalue=1, offvalue=0)
b14_7 = ttk.Checkbutton(content, text="HALT", variable=b14_7var, onvalue=1, offvalue=0)

b15_0 = ttk.Checkbutton(content, text="1", variable=b15_0var, onvalue=1, offvalue=0)
b15_1 = ttk.Checkbutton(content, text="2", variable=b15_1var, onvalue=1, offvalue=0)
b15_2 = ttk.Checkbutton(content, text="4", variable=b15_2var, onvalue=1, offvalue=0)
b15_3 = ttk.Checkbutton(content, text="8", variable=b15_3var, onvalue=1, offvalue=0)
b15_4 = ttk.Checkbutton(content, text="16", variable=b15_4var, onvalue=1, offvalue=0)
b15_5 = ttk.Checkbutton(content, text="32", variable=b15_5var, onvalue=1, offvalue=0)
b15_7 = ttk.Checkbutton(content, text="HALT", variable=b15_7var, onvalue=1, offvalue=0)


content.grid(column=0, row=0)

# Placing text above each byte
nameb12_0.grid(column=4, row=71, columnspan=2)
nameb13_0.grid(column=4, row=77, columnspan=2)
nameb14_0.grid(column=4, row=83, columnspan=2)
nameb15_0.grid(column=4, row=89, columnspan=2)

# Placing buttons on grid
b12_0.grid(column=1,row=72)
b12_1.grid(column=2,row=72)
b12_2.grid(column=3,row=72)
b12_3.grid(column=4,row=72)
b12_4.grid(column=5,row=72)
b12_5.grid(column=6,row=72, ipadx=10)
b12_7.grid(column=8,row=72, ipadx=30)

b13_0.grid(column=1,row=78)
b13_1.grid(column=2,row=78)
b13_2.grid(column=3,row=78)
b13_3.grid(column=4,row=78)
b13_4.grid(column=5,row=78)
b13_5.grid(column=6,row=78, ipadx=10)
b13_7.grid(column=8,row=78, ipadx=30)

b14_0.grid(column=1,row=84)
b14_1.grid(column=2,row=84)
b14_2.grid(column=3,row=84)
b14_3.grid(column=4,row=84)
b14_4.grid(column=5,row=84)
b14_5.grid(column=6,row=84, ipadx=10)
b14_7.grid(column=8,row=84, ipadx=30)

b15_0.grid(column=1,row=90)
b15_1.grid(column=2,row=90)
b15_2.grid(column=3,row=90)
b15_3.grid(column=4,row=90)
b15_4.grid(column=5,row=90)
b15_5.grid(column=6,row=90, ipadx=10)
b15_7.grid(column=8,row=90, ipadx=30)

# Row 5 Draw

# defining labels
nameb16_0 = ttk.Label(content, text="Note 17", background=c1.get())
nameb17_0 = ttk.Label(content, text="Note 18", background=c1.get())
nameb18_0 = ttk.Label(content, text="Note 19", background=c1.get())
nameb19_0 = ttk.Label(content, text="Note 20", background=c1.get())


# Defining number type
b16_0var = IntVar()
b16_1var = IntVar()
b16_2var = IntVar()
b16_3var = IntVar()
b16_4var = IntVar()
b16_5var = IntVar()
b16_7var = IntVar()

b17_0var = IntVar()
b17_1var = IntVar()
b17_2var = IntVar()
b17_3var = IntVar()
b17_4var = IntVar()
b17_5var = IntVar()
b17_7var = IntVar()

b18_0var = IntVar()
b18_1var = IntVar()
b18_2var = IntVar()
b18_3var = IntVar()
b18_4var = IntVar()
b18_5var = IntVar()
b18_7var = IntVar()

b19_0var = IntVar()
b19_1var = IntVar()
b19_2var = IntVar()
b19_3var = IntVar()
b19_4var = IntVar()
b19_5var = IntVar()
b19_7var = IntVar()

# Setting default button position
b16_0var.set(0)
b16_1var.set(0)
b16_2var.set(0)
b16_3var.set(0)
b16_4var.set(0)
b16_5var.set(0)
b16_7var.set(0)

b17_0var.set(0)
b17_1var.set(0)
b17_2var.set(0)
b17_3var.set(0)
b17_4var.set(0)
b17_5var.set(0)
b17_7var.set(0)

b18_0var.set(0)
b18_1var.set(0)
b18_2var.set(0)
b18_3var.set(0)
b18_4var.set(0)
b18_5var.set(0)
b18_7var.set(0)

b19_0var.set(0)
b19_1var.set(0)
b19_2var.set(0)
b19_3var.set(0)
b19_4var.set(0)
b19_5var.set(0)
b19_7var.set(0)

# Defining button
b16_0 = ttk.Checkbutton(content, text="1", variable=b16_0var, onvalue=1, offvalue=0)
b16_1 = ttk.Checkbutton(content, text="2", variable=b16_1var, onvalue=1, offvalue=0)
b16_2 = ttk.Checkbutton(content, text="4", variable=b16_2var, onvalue=1, offvalue=0)
b16_3 = ttk.Checkbutton(content, text="8", variable=b16_3var, onvalue=1, offvalue=0)
b16_4 = ttk.Checkbutton(content, text="16", variable=b16_4var, onvalue=1, offvalue=0)
b16_5 = ttk.Checkbutton(content, text="32", variable=b16_5var, onvalue=1, offvalue=0)
b16_7 = ttk.Checkbutton(content, text="HALT", variable=b16_7var, onvalue=1, offvalue=0)

b17_0 = ttk.Checkbutton(content, text="1", variable=b17_0var, onvalue=1, offvalue=0)
b17_1 = ttk.Checkbutton(content, text="2", variable=b17_1var, onvalue=1, offvalue=0)
b17_2 = ttk.Checkbutton(content, text="4", variable=b17_2var, onvalue=1, offvalue=0)
b17_3 = ttk.Checkbutton(content, text="8", variable=b17_3var, onvalue=1, offvalue=0)
b17_4 = ttk.Checkbutton(content, text="16", variable=b17_4var, onvalue=1, offvalue=0)
b17_5 = ttk.Checkbutton(content, text="32", variable=b17_5var, onvalue=1, offvalue=0)
b17_7 = ttk.Checkbutton(content, text="HALT", variable=b17_7var, onvalue=1, offvalue=0)

b18_0 = ttk.Checkbutton(content, text="1", variable=b18_0var, onvalue=1, offvalue=0)
b18_1 = ttk.Checkbutton(content, text="2", variable=b18_1var, onvalue=1, offvalue=0)
b18_2 = ttk.Checkbutton(content, text="4", variable=b18_2var, onvalue=1, offvalue=0)
b18_3 = ttk.Checkbutton(content, text="8", variable=b18_3var, onvalue=1, offvalue=0)
b18_4 = ttk.Checkbutton(content, text="16", variable=b18_4var, onvalue=1, offvalue=0)
b18_5 = ttk.Checkbutton(content, text="32", variable=b18_5var, onvalue=1, offvalue=0)
b18_7 = ttk.Checkbutton(content, text="HALT", variable=b18_7var, onvalue=1, offvalue=0)

b19_0 = ttk.Checkbutton(content, text="1", variable=b19_0var, onvalue=1, offvalue=0)
b19_1 = ttk.Checkbutton(content, text="2", variable=b19_1var, onvalue=1, offvalue=0)
b19_2 = ttk.Checkbutton(content, text="4", variable=b19_2var, onvalue=1, offvalue=0)
b19_3 = ttk.Checkbutton(content, text="8", variable=b19_3var, onvalue=1, offvalue=0)
b19_4 = ttk.Checkbutton(content, text="16", variable=b19_4var, onvalue=1, offvalue=0)
b19_5 = ttk.Checkbutton(content, text="32", variable=b19_5var, onvalue=1, offvalue=0)
b19_7 = ttk.Checkbutton(content, text="HALT", variable=b19_7var, onvalue=1, offvalue=0)


content.grid(column=0, row=0)

# Placing text above each byte
nameb16_0.grid(column=12, row=0, columnspan=2)
nameb17_0.grid(column=12, row=5, columnspan=2)
nameb18_0.grid(column=12, row=11, columnspan=2)
nameb19_0.grid(column=12, row=17, columnspan=2)

# Placing buttons on grid
b16_0.grid(column=9,row=3)
b16_1.grid(column=10,row=3)
b16_2.grid(column=11,row=3)
b16_3.grid(column=12,row=3)
b16_4.grid(column=13,row=3)
b16_5.grid(column=14,row=3, ipadx=10)
b16_7.grid(column=16,row=3, ipadx=20)

b17_0.grid(column=9,row=6)
b17_1.grid(column=10,row=6)
b17_2.grid(column=11,row=6)
b17_3.grid(column=12,row=6)
b17_4.grid(column=13,row=6)
b17_5.grid(column=14,row=6, ipadx=10)
b17_7.grid(column=16,row=6, ipadx=20)

b18_0.grid(column=9,row=12)
b18_1.grid(column=10,row=12)
b18_2.grid(column=11,row=12)
b18_3.grid(column=12,row=12)
b18_4.grid(column=13,row=12)
b18_5.grid(column=14,row=12, ipadx=10)
b18_7.grid(column=16,row=12, ipadx=20)

b19_0.grid(column=9,row=18)
b19_1.grid(column=10,row=18)
b19_2.grid(column=11,row=18)
b19_3.grid(column=12,row=18)
b19_4.grid(column=13,row=18)
b19_5.grid(column=14,row=18, ipadx=10)
b19_7.grid(column=16,row=18, ipadx=20)

# Row 6 Draw

# defining labels
nameb20_0 = ttk.Label(content, text="Note 21", background=c1.get())
nameb21_0 = ttk.Label(content, text="Note 22", background=c1.get())
nameb22_0 = ttk.Label(content, text="Note 23", background=c1.get())
nameb23_0 = ttk.Label(content, text="Note 24", background=c1.get())


# Defining number type
b20_0var = IntVar()
b20_1var = IntVar()
b20_2var = IntVar()
b20_3var = IntVar()
b20_4var = IntVar()
b20_5var = IntVar()
b20_7var = IntVar()

b21_0var = IntVar()
b21_1var = IntVar()
b21_2var = IntVar()
b21_3var = IntVar()
b21_4var = IntVar()
b21_5var = IntVar()
b21_7var = IntVar()

b22_0var = IntVar()
b22_1var = IntVar()
b22_2var = IntVar()
b22_3var = IntVar()
b22_4var = IntVar()
b22_5var = IntVar()
b22_7var = IntVar()

b23_0var = IntVar()
b23_1var = IntVar()
b23_2var = IntVar()
b23_3var = IntVar()
b23_4var = IntVar()
b23_5var = IntVar()
b23_7var = IntVar()

# Setting default button position
b20_0var.set(0)
b20_1var.set(0)
b20_2var.set(0)
b20_3var.set(0)
b20_4var.set(0)
b20_5var.set(0)
b20_7var.set(0)

b21_0var.set(0)
b21_1var.set(0)
b21_2var.set(0)
b21_3var.set(0)
b21_4var.set(0)
b21_5var.set(0)
b21_7var.set(0)

b22_0var.set(0)
b22_1var.set(0)
b22_2var.set(0)
b22_3var.set(0)
b22_4var.set(0)
b22_5var.set(0)
b22_7var.set(0)

b23_0var.set(0)
b23_1var.set(0)
b23_2var.set(0)
b23_3var.set(0)
b23_4var.set(0)
b23_5var.set(0)
b23_7var.set(0)

# Defining button
b20_0 = ttk.Checkbutton(content, text="1", variable=b20_0var, onvalue=1, offvalue=0)
b20_1 = ttk.Checkbutton(content, text="2", variable=b20_1var, onvalue=1, offvalue=0)
b20_2 = ttk.Checkbutton(content, text="4", variable=b20_2var, onvalue=1, offvalue=0)
b20_3 = ttk.Checkbutton(content, text="8", variable=b20_3var, onvalue=1, offvalue=0)
b20_4 = ttk.Checkbutton(content, text="16", variable=b20_4var, onvalue=1, offvalue=0)
b20_5 = ttk.Checkbutton(content, text="32", variable=b20_5var, onvalue=1, offvalue=0)
b20_7 = ttk.Checkbutton(content, text="HALT", variable=b20_7var, onvalue=1, offvalue=0)

b21_0 = ttk.Checkbutton(content, text="1", variable=b21_0var, onvalue=1, offvalue=0)
b21_1 = ttk.Checkbutton(content, text="2", variable=b21_1var, onvalue=1, offvalue=0)
b21_2 = ttk.Checkbutton(content, text="4", variable=b21_2var, onvalue=1, offvalue=0)
b21_3 = ttk.Checkbutton(content, text="8", variable=b21_3var, onvalue=1, offvalue=0)
b21_4 = ttk.Checkbutton(content, text="16", variable=b21_4var, onvalue=1, offvalue=0)
b21_5 = ttk.Checkbutton(content, text="32", variable=b21_5var, onvalue=1, offvalue=0)
b21_7 = ttk.Checkbutton(content, text="HALT", variable=b21_7var, onvalue=1, offvalue=0)

b22_0 = ttk.Checkbutton(content, text="1", variable=b22_0var, onvalue=1, offvalue=0)
b22_1 = ttk.Checkbutton(content, text="2", variable=b22_1var, onvalue=1, offvalue=0)
b22_2 = ttk.Checkbutton(content, text="4", variable=b22_2var, onvalue=1, offvalue=0)
b22_3 = ttk.Checkbutton(content, text="8", variable=b22_3var, onvalue=1, offvalue=0)
b22_4 = ttk.Checkbutton(content, text="16", variable=b22_4var, onvalue=1, offvalue=0)
b22_5 = ttk.Checkbutton(content, text="32", variable=b22_5var, onvalue=1, offvalue=0)
b22_7 = ttk.Checkbutton(content, text="HALT", variable=b22_7var, onvalue=1, offvalue=0)

b23_0 = ttk.Checkbutton(content, text="1", variable=b23_0var, onvalue=1, offvalue=0)
b23_1 = ttk.Checkbutton(content, text="2", variable=b23_1var, onvalue=1, offvalue=0)
b23_2 = ttk.Checkbutton(content, text="4", variable=b23_2var, onvalue=1, offvalue=0)
b23_3 = ttk.Checkbutton(content, text="8", variable=b23_3var, onvalue=1, offvalue=0)
b23_4 = ttk.Checkbutton(content, text="16", variable=b23_4var, onvalue=1, offvalue=0)
b23_5 = ttk.Checkbutton(content, text="32", variable=b23_5var, onvalue=1, offvalue=0)
b23_7 = ttk.Checkbutton(content, text="HALT", variable=b23_7var, onvalue=1, offvalue=0)


content.grid(column=0, row=0)

# Placing text above each byte
nameb20_0.grid(column=12, row=23, columnspan=2)
nameb21_0.grid(column=12, row=29, columnspan=2)
nameb22_0.grid(column=12, row=35, columnspan=2)
nameb23_0.grid(column=12, row=41, columnspan=2)

# Placing buttons on grid
b20_0.grid(column=9,row=24)
b20_1.grid(column=10,row=24)
b20_2.grid(column=11,row=24)
b20_3.grid(column=12,row=24)
b20_4.grid(column=13,row=24)
b20_5.grid(column=14,row=24, ipadx=10)
b20_7.grid(column=16,row=24, ipadx=20)

b21_0.grid(column=9,row=30)
b21_1.grid(column=10,row=30)
b21_2.grid(column=11,row=30)
b21_3.grid(column=12,row=30)
b21_4.grid(column=13,row=30)
b21_5.grid(column=14,row=30, ipadx=10)
b21_7.grid(column=16,row=30, ipadx=20)

b22_0.grid(column=9,row=36)
b22_1.grid(column=10,row=36)
b22_2.grid(column=11,row=36)
b22_3.grid(column=12,row=36)
b22_4.grid(column=13,row=36)
b22_5.grid(column=14,row=36, ipadx=10)
b22_7.grid(column=16,row=36, ipadx=20)

b23_0.grid(column=9,row=42)
b23_1.grid(column=10,row=42)
b23_2.grid(column=11,row=42)
b23_3.grid(column=12,row=42)
b23_4.grid(column=13,row=42)
b23_5.grid(column=14,row=42, ipadx=10)
b23_7.grid(column=16,row=42, ipadx=20)

# Row 7 Draw

# defining labels
nameb24_0 = ttk.Label(content, text="Note 25", background=c1.get())
nameb25_0 = ttk.Label(content, text="Note 26", background=c1.get())
nameb26_0 = ttk.Label(content, text="Note 27", background=c1.get())
nameb27_0 = ttk.Label(content, text="Note 28", background=c1.get())


# Defining number type
b24_0var = IntVar()
b24_1var = IntVar()
b24_2var = IntVar()
b24_3var = IntVar()
b24_4var = IntVar()
b24_5var = IntVar()
b24_7var = IntVar()

b25_0var = IntVar()
b25_1var = IntVar()
b25_2var = IntVar()
b25_3var = IntVar()
b25_4var = IntVar()
b25_5var = IntVar()
b25_7var = IntVar()

b26_0var = IntVar()
b26_1var = IntVar()
b26_2var = IntVar()
b26_3var = IntVar()
b26_4var = IntVar()
b26_5var = IntVar()
b26_7var = IntVar()

b27_0var = IntVar()
b27_1var = IntVar()
b27_2var = IntVar()
b27_3var = IntVar()
b27_4var = IntVar()
b27_5var = IntVar()
b27_7var = IntVar()

# Setting default button position
b24_0var.set(0)
b24_1var.set(0)
b24_2var.set(0)
b24_3var.set(0)
b24_4var.set(0)
b24_5var.set(0)
b24_7var.set(0)

b25_0var.set(0)
b25_1var.set(0)
b25_2var.set(0)
b25_3var.set(0)
b25_4var.set(0)
b25_5var.set(0)
b25_7var.set(0)

b26_0var.set(0)
b26_1var.set(0)
b26_2var.set(0)
b26_3var.set(0)
b26_4var.set(0)
b26_5var.set(0)
b26_7var.set(0)

b27_0var.set(0)
b27_1var.set(0)
b27_2var.set(0)
b27_3var.set(0)
b27_4var.set(0)
b27_5var.set(0)
b27_7var.set(0)

# Defining button
b24_0 = ttk.Checkbutton(content, text="1", variable=b24_0var, onvalue=1, offvalue=0)
b24_1 = ttk.Checkbutton(content, text="2", variable=b24_1var, onvalue=1, offvalue=0)
b24_2 = ttk.Checkbutton(content, text="4", variable=b24_2var, onvalue=1, offvalue=0)
b24_3 = ttk.Checkbutton(content, text="8", variable=b24_3var, onvalue=1, offvalue=0)
b24_4 = ttk.Checkbutton(content, text="16", variable=b24_4var, onvalue=1, offvalue=0)
b24_5 = ttk.Checkbutton(content, text="32", variable=b24_5var, onvalue=1, offvalue=0)
b24_7 = ttk.Checkbutton(content, text="HALT", variable=b24_7var, onvalue=1, offvalue=0)

b25_0 = ttk.Checkbutton(content, text="1", variable=b25_0var, onvalue=1, offvalue=0)
b25_1 = ttk.Checkbutton(content, text="2", variable=b25_1var, onvalue=1, offvalue=0)
b25_2 = ttk.Checkbutton(content, text="4", variable=b25_2var, onvalue=1, offvalue=0)
b25_3 = ttk.Checkbutton(content, text="8", variable=b25_3var, onvalue=1, offvalue=0)
b25_4 = ttk.Checkbutton(content, text="16", variable=b25_4var, onvalue=1, offvalue=0)
b25_5 = ttk.Checkbutton(content, text="32", variable=b25_5var, onvalue=1, offvalue=0)
b25_7 = ttk.Checkbutton(content, text="HALT", variable=b25_7var, onvalue=1, offvalue=0)

b26_0 = ttk.Checkbutton(content, text="1", variable=b26_0var, onvalue=1, offvalue=0)
b26_1 = ttk.Checkbutton(content, text="2", variable=b26_1var, onvalue=1, offvalue=0)
b26_2 = ttk.Checkbutton(content, text="4", variable=b26_2var, onvalue=1, offvalue=0)
b26_3 = ttk.Checkbutton(content, text="8", variable=b26_3var, onvalue=1, offvalue=0)
b26_4 = ttk.Checkbutton(content, text="16", variable=b26_4var, onvalue=1, offvalue=0)
b26_5 = ttk.Checkbutton(content, text="32", variable=b26_5var, onvalue=1, offvalue=0)
b26_7 = ttk.Checkbutton(content, text="HALT", variable=b26_7var, onvalue=1, offvalue=0)

b27_0 = ttk.Checkbutton(content, text="1", variable=b27_0var, onvalue=1, offvalue=0)
b27_1 = ttk.Checkbutton(content, text="2", variable=b27_1var, onvalue=1, offvalue=0)
b27_2 = ttk.Checkbutton(content, text="4", variable=b27_2var, onvalue=1, offvalue=0)
b27_3 = ttk.Checkbutton(content, text="8", variable=b27_3var, onvalue=1, offvalue=0)
b27_4 = ttk.Checkbutton(content, text="16", variable=b27_4var, onvalue=1, offvalue=0)
b27_5 = ttk.Checkbutton(content, text="32", variable=b27_5var, onvalue=1, offvalue=0)
b27_7 = ttk.Checkbutton(content, text="HALT", variable=b27_7var, onvalue=1, offvalue=0)


content.grid(column=0, row=0)

# Placing text above each byte
nameb24_0.grid(column=12, row=47, columnspan=2)
nameb25_0.grid(column=12, row=53, columnspan=2)
nameb26_0.grid(column=12, row=59, columnspan=2)
nameb27_0.grid(column=12, row=65, columnspan=2)

# Placing buttons on grid
b24_0.grid(column=9,row=48)
b24_1.grid(column=10,row=48)
b24_2.grid(column=11,row=48)
b24_3.grid(column=12,row=48)
b24_4.grid(column=13,row=48)
b24_5.grid(column=14,row=48, ipadx=10)
b24_7.grid(column=16,row=48, ipadx=20)

b25_0.grid(column=9,row=54)
b25_1.grid(column=10,row=54)
b25_2.grid(column=11,row=54)
b25_3.grid(column=12,row=54)
b25_4.grid(column=13,row=54)
b25_5.grid(column=14,row=54, ipadx=10)
b25_7.grid(column=16,row=54, ipadx=20)

b26_0.grid(column=9,row=60)
b26_1.grid(column=10,row=60)
b26_2.grid(column=11,row=60)
b26_3.grid(column=12,row=60)
b26_4.grid(column=13,row=60)
b26_5.grid(column=14,row=60, ipadx=10)
b26_7.grid(column=16,row=60, ipadx=20)

b27_0.grid(column=9,row=66)
b27_1.grid(column=10,row=66)
b27_2.grid(column=11,row=66)
b27_3.grid(column=12,row=66)
b27_4.grid(column=13,row=66)
b27_5.grid(column=14,row=66, ipadx=10)
b27_7.grid(column=16,row=66, ipadx=20)

# Row 8 Draw

# defining labels
nameb28_0 = ttk.Label(content, text="Note 29", background=c1.get())
nameb29_0 = ttk.Label(content, text="Note 30", background=c1.get())
nameb30_0 = ttk.Label(content, text="Note 31", background=c1.get())
nameb31_0 = ttk.Label(content, text="Note 32", background=c1.get())


# Defining number type
b28_0var = IntVar()
b28_1var = IntVar()
b28_2var = IntVar()
b28_3var = IntVar()
b28_4var = IntVar()
b28_5var = IntVar()
b28_7var = IntVar()

b29_0var = IntVar()
b29_1var = IntVar()
b29_2var = IntVar()
b29_3var = IntVar()
b29_4var = IntVar()
b29_5var = IntVar()
b29_7var = IntVar()

b30_0var = IntVar()
b30_1var = IntVar()
b30_2var = IntVar()
b30_3var = IntVar()
b30_4var = IntVar()
b30_5var = IntVar()
b30_7var = IntVar()

b31_0var = IntVar()
b31_1var = IntVar()
b31_2var = IntVar()
b31_3var = IntVar()
b31_4var = IntVar()
b31_5var = IntVar()
b31_7var = IntVar()

# Setting default button position
b28_0var.set(0)
b28_1var.set(0)
b28_2var.set(0)
b28_3var.set(0)
b28_4var.set(0)
b28_5var.set(0)
b28_7var.set(0)

b29_0var.set(0)
b29_1var.set(0)
b29_2var.set(0)
b29_3var.set(0)
b29_4var.set(0)
b29_5var.set(0)
b29_7var.set(0)

b30_0var.set(0)
b30_1var.set(0)
b30_2var.set(0)
b30_3var.set(0)
b30_4var.set(0)
b30_5var.set(0)
b30_7var.set(0)

b31_0var.set(0)
b31_1var.set(0)
b31_2var.set(0)
b31_3var.set(0)
b31_4var.set(0)
b31_5var.set(0)
b31_7var.set(0)

# Defining button
b28_0 = ttk.Checkbutton(content, text="1", variable=b28_0var, onvalue=1, offvalue=0)
b28_1 = ttk.Checkbutton(content, text="2", variable=b28_1var, onvalue=1, offvalue=0)
b28_2 = ttk.Checkbutton(content, text="4", variable=b28_2var, onvalue=1, offvalue=0)
b28_3 = ttk.Checkbutton(content, text="8", variable=b28_3var, onvalue=1, offvalue=0)
b28_4 = ttk.Checkbutton(content, text="16", variable=b28_4var, onvalue=1, offvalue=0)
b28_5 = ttk.Checkbutton(content, text="32", variable=b28_5var, onvalue=1, offvalue=0)
b28_7 = ttk.Checkbutton(content, text="HALT", variable=b28_7var, onvalue=1, offvalue=0)

b29_0 = ttk.Checkbutton(content, text="1", variable=b29_0var, onvalue=1, offvalue=0)
b29_1 = ttk.Checkbutton(content, text="2", variable=b29_1var, onvalue=1, offvalue=0)
b29_2 = ttk.Checkbutton(content, text="4", variable=b29_2var, onvalue=1, offvalue=0)
b29_3 = ttk.Checkbutton(content, text="8", variable=b29_3var, onvalue=1, offvalue=0)
b29_4 = ttk.Checkbutton(content, text="16", variable=b29_4var, onvalue=1, offvalue=0)
b29_5 = ttk.Checkbutton(content, text="32", variable=b29_5var, onvalue=1, offvalue=0)
b29_7 = ttk.Checkbutton(content, text="HALT", variable=b29_7var, onvalue=1, offvalue=0)

b30_0 = ttk.Checkbutton(content, text="1", variable=b30_0var, onvalue=1, offvalue=0)
b30_1 = ttk.Checkbutton(content, text="2", variable=b30_1var, onvalue=1, offvalue=0)
b30_2 = ttk.Checkbutton(content, text="4", variable=b30_2var, onvalue=1, offvalue=0)
b30_3 = ttk.Checkbutton(content, text="8", variable=b30_3var, onvalue=1, offvalue=0)
b30_4 = ttk.Checkbutton(content, text="16", variable=b30_4var, onvalue=1, offvalue=0)
b30_5 = ttk.Checkbutton(content, text="32", variable=b30_5var, onvalue=1, offvalue=0)
b30_7 = ttk.Checkbutton(content, text="HALT", variable=b30_7var, onvalue=1, offvalue=0)

b31_0 = ttk.Checkbutton(content, text="1", variable=b31_0var, onvalue=1, offvalue=0)
b31_1 = ttk.Checkbutton(content, text="2", variable=b31_1var, onvalue=1, offvalue=0)
b31_2 = ttk.Checkbutton(content, text="4", variable=b31_2var, onvalue=1, offvalue=0)
b31_3 = ttk.Checkbutton(content, text="8", variable=b31_3var, onvalue=1, offvalue=0)
b31_4 = ttk.Checkbutton(content, text="16", variable=b31_4var, onvalue=1, offvalue=0)
b31_5 = ttk.Checkbutton(content, text="32", variable=b31_5var, onvalue=1, offvalue=0)
b31_7 = ttk.Checkbutton(content, text="HALT", variable=b31_7var, onvalue=1, offvalue=0)


# Defining Start/Stop etc. button colours
ttk.Style().configure('red.TButton', background='firebrick')
ttk.Style().configure('green.TButton', background='pale green')
ttk.Style().configure('orange.TButton', background='peru')
#ttk.Style().configure('yellow.TButton', background='light yellow')
ttk.Style().configure('cream1.TButton', background='cornsilk3')
ttk.Style().configure('cream2.TButton', background='cornsilk2')

start = ttk.Button(content, command=start, text="START", style='green.TButton')
reset = ttk.Button(content, command=reset, text="RESET", style='orange.TButton')
stop = ttk.Button(content, command=stop, text="STOP", style='red.TButton')
faster = ttk.Button(content, command=faster, text="FASTER", style='cream1.TButton')
slower = ttk.Button(content, command=slower, text="SLOWER", style='cream2.TButton')
repeatup = ttk.Button(content, command=repeatup, text="SHORTER",style='cream1.TButton' )
repeatdn = ttk.Button(content, command=repeatdn, text="LONGER",style='cream2.TButton' )


content.grid(column=0, row=0)

# Placing text above each byte
nameb28_0.grid(column=12, row=71, columnspan=2)
nameb29_0.grid(column=12, row=77, columnspan=2)
nameb30_0.grid(column=12, row=83, columnspan=2)
nameb31_0.grid(column=12, row=89, columnspan=2)

# Placing buttons on grid
b28_0.grid(column=9,row=72)
b28_1.grid(column=10,row=72)
b28_2.grid(column=11,row=72)
b28_3.grid(column=12,row=72)
b28_4.grid(column=13,row=72)
b28_5.grid(column=14,row=72, ipadx=10)
b28_7.grid(column=16,row=72, ipadx=20)

b29_0.grid(column=9,row=78)
b29_1.grid(column=10,row=78)
b29_2.grid(column=11,row=78)
b29_3.grid(column=12,row=78)
b29_4.grid(column=13,row=78)
b29_5.grid(column=14,row=78, ipadx=10)
b29_7.grid(column=16,row=78, ipadx=20)

b30_0.grid(column=9,row=84)
b30_1.grid(column=10,row=84)
b30_2.grid(column=11,row=84)
b30_3.grid(column=12,row=84)
b30_4.grid(column=13,row=84)
b30_5.grid(column=14,row=84, ipadx=10)
b30_7.grid(column=16,row=84, ipadx=20)

b31_0.grid(column=9,row=90)
b31_1.grid(column=10,row=90)
b31_2.grid(column=11,row=90)
b31_3.grid(column=12,row=90)
b31_4.grid(column=13,row=90)
b31_5.grid(column=14,row=90, ipadx=10)
b31_7.grid(column=16,row=90, ipadx=20)


start.grid(column=18, row=3, columnspan=1)
reset.grid(column=18, row=6, columnspan=1)
stop.grid(column=18, row=12, columnspan=1)
faster.grid(column=18, row=24, columnspan=1)
slower.grid(column=18, row=30, columnspan=1)
repeatup.grid(column=18, row=42, columnspan=1)
repeatdn.grid(column=18, row=48, columnspan=1)


showspeed = ttk.Label(content, text=show_speed.get())
showspeed.grid(column=18, row=29, columnspan=1)
showrepeat = ttk.Label(content, text=show_repeat.get())
showrepeat.grid(column=18, row=47, columnspan=1)

# Defining labels
tempo = ttk.Label(content, text="TEMPO  ", foreground="steel blue")
repeatdelay = ttk.Label(content, text="REPEAT DELAY ", foreground="steel blue")
tempo.grid(column=18, row=23, columnspan=2)
repeatdelay.grid(column=18, row=41, columnspan=2)


# Author
nameCopy1 = ttk.Label(content, text="walkerworks 2016", foreground="steel blue")
nameCopy1.grid(column=18, row=106, columnspan=4)

# Resize grip

ttk.Sizegrip().grid(column=1, row=1, sticky=(N,S))

# Window resizing
root.columnconfigure(0, weight=1)
root.rowconfigure(0, weight=1)
content.columnconfigure(0, weight=3)
content.columnconfigure(1, weight=3)
content.columnconfigure(2, weight=3)
content.columnconfigure(3, weight=3)
content.columnconfigure(4, weight=3)
content.columnconfigure(5, weight=3)
content.columnconfigure(6, weight=3)
content.columnconfigure(7, weight=3)
content.rowconfigure(1, weight=1)

init(root)
root.mainloop()